<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><link rel="stylesheet" type="text/css" href="style.css" /><script type="text/javascript" src="highlight.js"></script></head><body><pre><span class="hs-pragma">{-# LANGUAGE FlexibleContexts #-}</span><span>
</span><span id="line-2"></span><span class="hs-pragma">{-# LANGUAGE RankNTypes #-}</span><span>
</span><span id="line-3"></span><span>
</span><span id="line-4"></span><span class="hs-comment">-----------------------------------------------------------------------------</span><span>
</span><span id="line-5"></span><span class="hs-comment">-- |</span><span>
</span><span id="line-6"></span><span class="hs-comment">-- Module      :  Distribution.Simple.SrcDist</span><span>
</span><span id="line-7"></span><span class="hs-comment">-- Copyright   :  Simon Marlow 2004</span><span>
</span><span id="line-8"></span><span class="hs-comment">-- License     :  BSD3</span><span>
</span><span id="line-9"></span><span class="hs-comment">--</span><span>
</span><span id="line-10"></span><span class="hs-comment">-- Maintainer  :  cabal-devel@haskell.org</span><span>
</span><span id="line-11"></span><span class="hs-comment">-- Portability :  portable</span><span>
</span><span id="line-12"></span><span class="hs-comment">--</span><span>
</span><span id="line-13"></span><span class="hs-comment">-- This handles the @sdist@ command. The module exports an 'sdist' action but</span><span>
</span><span id="line-14"></span><span class="hs-comment">-- also some of the phases that make it up so that other tools can use just the</span><span>
</span><span id="line-15"></span><span class="hs-comment">-- bits they need. In particular the preparation of the tree of files to go</span><span>
</span><span id="line-16"></span><span class="hs-comment">-- into the source tarball is separated from actually building the source</span><span>
</span><span id="line-17"></span><span class="hs-comment">-- tarball.</span><span>
</span><span id="line-18"></span><span class="hs-comment">--</span><span>
</span><span id="line-19"></span><span class="hs-comment">-- The 'createArchive' action uses the external @tar@ program and assumes that</span><span>
</span><span id="line-20"></span><span class="hs-comment">-- it accepts the @-z@ flag. Neither of these assumptions are valid on Windows.</span><span>
</span><span id="line-21"></span><span class="hs-comment">-- The 'sdist' action now also does some distribution QA checks.</span><span>
</span><span id="line-22"></span><span>
</span><span id="line-23"></span><span class="hs-comment">-- NOTE: FIX: we don't have a great way of testing this module, since</span><span>
</span><span id="line-24"></span><span class="hs-comment">-- we can't easily look inside a tarball once its created.</span><span>
</span><span id="line-25"></span><span>
</span><span id="line-26"></span><span class="hs-keyword">module</span><span> </span><span class="hs-identifier">Distribution.Simple.SrcDist</span><span> </span><span class="hs-special">(</span><span>
</span><span id="line-27"></span><span>  </span><span class="annot"><span class="hs-comment">-- * The top level action</span></span><span>
</span><span id="line-28"></span><span>  </span><span class="annot"><a href="Distribution.Simple.SrcDist.html#sdist"><span class="hs-identifier">sdist</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-29"></span><span>
</span><span id="line-30"></span><span>  </span><span class="annot"><span class="hs-comment">-- ** Parts of 'sdist'</span></span><span>
</span><span id="line-31"></span><span>  </span><span class="annot"><a href="Distribution.Simple.SrcDist.html#printPackageProblems"><span class="hs-identifier">printPackageProblems</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-32"></span><span>  </span><span class="annot"><a href="Distribution.Simple.SrcDist.html#prepareTree"><span class="hs-identifier">prepareTree</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-33"></span><span>  </span><span class="annot"><a href="Distribution.Simple.SrcDist.html#createArchive"><span class="hs-identifier">createArchive</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-34"></span><span>
</span><span id="line-35"></span><span>  </span><span class="annot"><span class="hs-comment">-- ** Snapshots</span></span><span>
</span><span id="line-36"></span><span>  </span><span class="annot"><a href="Distribution.Simple.SrcDist.html#prepareSnapshotTree"><span class="hs-identifier">prepareSnapshotTree</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-37"></span><span>  </span><span class="annot"><a href="Distribution.Simple.SrcDist.html#snapshotPackage"><span class="hs-identifier">snapshotPackage</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-38"></span><span>  </span><span class="annot"><a href="Distribution.Simple.SrcDist.html#snapshotVersion"><span class="hs-identifier">snapshotVersion</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-39"></span><span>  </span><span class="annot"><a href="Distribution.Simple.SrcDist.html#dateToSnapshotNumber"><span class="hs-identifier">dateToSnapshotNumber</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-40"></span><span>
</span><span id="line-41"></span><span>  </span><span class="annot"><span class="hs-comment">-- * Extracting the source files</span></span><span>
</span><span id="line-42"></span><span>  </span><span class="annot"><a href="Distribution.Simple.SrcDist.html#listPackageSources"><span class="hs-identifier">listPackageSources</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-43"></span><span>  </span><span class="annot"><a href="Distribution.Simple.SrcDist.html#listPackageSourcesWithDie"><span class="hs-identifier">listPackageSourcesWithDie</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-44"></span><span>
</span><span id="line-45"></span><span>  </span><span class="hs-special">)</span><span>  </span><span class="hs-keyword">where</span><span>
</span><span id="line-46"></span><span>
</span><span id="line-47"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="../../base/src/Prelude.html#"><span class="hs-identifier">Prelude</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span><span>
</span><span id="line-48"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.Compat.Prelude.html"><span class="hs-identifier">Distribution.Compat.Prelude</span></a></span><span>
</span><span id="line-49"></span><span>
</span><span id="line-50"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.PackageDescription.html"><span class="hs-identifier">Distribution.PackageDescription</span></a></span><span>
</span><span id="line-51"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.PackageDescription.Check.html"><span class="hs-identifier">Distribution.PackageDescription.Check</span></a></span><span> </span><span class="hs-keyword">hiding</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="Distribution.PackageDescription.Check.html#doesFileExist"><span class="hs-identifier">doesFileExist</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-52"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.Package.html"><span class="hs-identifier">Distribution.Package</span></a></span><span>
</span><span id="line-53"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.ModuleName.html"><span class="hs-identifier">Distribution.ModuleName</span></a></span><span>
</span><span id="line-54"></span><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="annot"><a href="Distribution.ModuleName.html"><span class="hs-identifier">Distribution.ModuleName</span></a></span><span> </span><span class="hs-keyword">as</span><span> </span><span class="annot"><span class="hs-identifier">ModuleName</span></span><span>
</span><span id="line-55"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.Version.html"><span class="hs-identifier">Distribution.Version</span></a></span><span>
</span><span id="line-56"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.Simple.Configure.html"><span class="hs-identifier">Distribution.Simple.Configure</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="Distribution.Simple.Configure.html#findDistPrefOrDefault"><span class="hs-identifier">findDistPrefOrDefault</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-57"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.Simple.Glob.html"><span class="hs-identifier">Distribution.Simple.Glob</span></a></span><span>
</span><span id="line-58"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.Simple.Utils.html"><span class="hs-identifier">Distribution.Simple.Utils</span></a></span><span>
</span><span id="line-59"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.Simple.Setup.html"><span class="hs-identifier">Distribution.Simple.Setup</span></a></span><span>
</span><span id="line-60"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.Simple.PreProcess.html"><span class="hs-identifier">Distribution.Simple.PreProcess</span></a></span><span>
</span><span id="line-61"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.Simple.BuildPaths.html"><span class="hs-identifier">Distribution.Simple.BuildPaths</span></a></span><span>
</span><span id="line-62"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.Simple.Program.html"><span class="hs-identifier">Distribution.Simple.Program</span></a></span><span>
</span><span id="line-63"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.Pretty.html"><span class="hs-identifier">Distribution.Pretty</span></a></span><span>
</span><span id="line-64"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.Verbosity.html"><span class="hs-identifier">Distribution.Verbosity</span></a></span><span>
</span><span id="line-65"></span><span>
</span><span id="line-66"></span><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="annot"><a href="../../containers/src/Data.Map.html#"><span class="hs-identifier">Data.Map</span></a></span><span> </span><span class="hs-keyword">as</span><span> </span><span class="annot"><span class="hs-identifier">Map</span></span><span>
</span><span id="line-67"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="../../time/src/Data.Time.html#"><span class="hs-identifier">Data.Time</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="../../time/src/Data.Time.Clock.Internal.UTCTime.html#UTCTime"><span class="hs-identifier">UTCTime</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="../../time/src/Data.Time.Clock.POSIX.html#getCurrentTime"><span class="hs-identifier">getCurrentTime</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="../../time/src/Data.Time.Calendar.Gregorian.html#toGregorian"><span class="hs-identifier">toGregorian</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="../../time/src/Data.Time.Clock.Internal.UTCTime.html#utctDay"><span class="hs-identifier">utctDay</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-68"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="../../directory/src/System.Directory.html#"><span class="hs-identifier">System.Directory</span></a></span><span> </span><span class="hs-special">(</span><span> </span><span class="annot"><a href="../../directory/src/System.Directory.html#doesFileExist"><span class="hs-identifier">doesFileExist</span></a></span><span> </span><span class="hs-special">)</span><span>
</span><span id="line-69"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="../../base/src/System.IO.html#"><span class="hs-identifier">System.IO</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="../../base/src/GHC.IO.IOMode.html#IOMode"><span class="hs-identifier">IOMode</span></a></span><span class="hs-special">(</span><span class="annot"><a href="../../base/src/GHC.IO.IOMode.html#WriteMode"><span class="hs-identifier">WriteMode</span></a></span><span class="hs-special">)</span><span class="hs-special">,</span><span> </span><span class="annot"><a href="../../base/src/GHC.IO.Handle.Text.html#hPutStrLn"><span class="hs-identifier">hPutStrLn</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="../../base/src/System.IO.html#withFile"><span class="hs-identifier">withFile</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-70"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="../../filepath/src/System.FilePath.html#"><span class="hs-identifier">System.FilePath</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="../../filepath/src/System.FilePath.Windows.html#%3C%2F%3E"><span class="hs-operator">(&lt;/&gt;)</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="../../filepath/src/System.FilePath.Windows.html#%3C.%3E"><span class="hs-operator">(&lt;.&gt;)</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="../../filepath/src/System.FilePath.Windows.html#dropExtension"><span class="hs-identifier">dropExtension</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="../../filepath/src/System.FilePath.Windows.html#isRelative"><span class="hs-identifier">isRelative</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-71"></span><span>
</span><span id="line-72"></span><span class="hs-comment">-- |Create a source distribution.</span><span>
</span><span id="line-73"></span><span class="annot"><a href="Distribution.Simple.SrcDist.html#sdist"><span class="hs-identifier hs-type">sdist</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Types.PackageDescription.html#PackageDescription"><span class="hs-identifier hs-type">PackageDescription</span></a></span><span>     </span><span class="hs-comment">-- ^ information from the tarball</span><span>
</span><span id="line-74"></span><span>      </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Simple.Setup.html#SDistFlags"><span class="hs-identifier hs-type">SDistFlags</span></a></span><span>             </span><span class="hs-comment">-- ^ verbosity &amp; snapshot</span><span>
</span><span id="line-75"></span><span>      </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="../../base/src/GHC.IO.html#FilePath"><span class="hs-identifier hs-type">FilePath</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../base/src/GHC.IO.html#FilePath"><span class="hs-identifier hs-type">FilePath</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-comment">-- ^ build prefix (temp dir)</span><span>
</span><span id="line-76"></span><span>      </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="Distribution.Simple.PreProcess.html#PPSuffixHandler"><span class="hs-identifier hs-type">PPSuffixHandler</span></a></span><span class="hs-special">]</span><span>      </span><span class="hs-comment">-- ^ extra preprocessors (includes suffixes)</span><span>
</span><span id="line-77"></span><span>      </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="hs-identifier hs-type">IO</span></span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span><span>
</span><span id="line-78"></span><span id="sdist"><span class="annot"><span class="annottext">sdist :: PackageDescription
-&gt; SDistFlags -&gt; (String -&gt; String) -&gt; [PPSuffixHandler] -&gt; IO ()
</span><a href="Distribution.Simple.SrcDist.html#sdist"><span class="hs-identifier hs-var hs-var">sdist</span></a></span></span><span> </span><span id="local-6989586621679729282"><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679729282"><span class="hs-identifier hs-var">pkg</span></a></span></span><span> </span><span id="local-6989586621679729281"><span class="annot"><span class="annottext">SDistFlags
</span><a href="#local-6989586621679729281"><span class="hs-identifier hs-var">flags</span></a></span></span><span> </span><span id="local-6989586621679729280"><span class="annot"><span class="annottext">String -&gt; String
</span><a href="#local-6989586621679729280"><span class="hs-identifier hs-var">mkTmpDir</span></a></span></span><span> </span><span id="local-6989586621679729279"><span class="annot"><span class="annottext">[PPSuffixHandler]
</span><a href="#local-6989586621679729279"><span class="hs-identifier hs-var">pps</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
</span><span id="line-79"></span><span>
</span><span id="line-80"></span><span>  </span><span id="local-6989586621679729278"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729278"><span class="hs-identifier hs-var">distPref</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">Flag String -&gt; IO String
</span><a href="Distribution.Simple.Configure.html#findDistPrefOrDefault"><span class="hs-identifier hs-var">findDistPrefOrDefault</span></a></span><span> </span><span class="annot"><span class="annottext">(Flag String -&gt; IO String) -&gt; Flag String -&gt; IO String
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">SDistFlags -&gt; Flag String
</span><a href="Distribution.Simple.Setup.html#sDistDistPref"><span class="hs-identifier hs-var hs-var">sDistDistPref</span></a></span><span> </span><span class="annot"><span class="annottext">SDistFlags
</span><a href="#local-6989586621679729281"><span class="hs-identifier hs-var">flags</span></a></span><span>
</span><span id="line-81"></span><span>  </span><span class="hs-keyword">let</span><span> </span><span id="local-6989586621679729276"><span class="annot"><span class="annottext">targetPref :: String
</span><a href="#local-6989586621679729276"><span class="hs-identifier hs-var hs-var">targetPref</span></a></span></span><span>   </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729278"><span class="hs-identifier hs-var">distPref</span></a></span><span>
</span><span id="line-82"></span><span>      </span><span id="local-6989586621679729275"><span class="annot"><span class="annottext">tmpTargetDir :: String
</span><a href="#local-6989586621679729275"><span class="hs-identifier hs-var hs-var">tmpTargetDir</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String -&gt; String
</span><a href="#local-6989586621679729280"><span class="hs-identifier hs-var">mkTmpDir</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729278"><span class="hs-identifier hs-var">distPref</span></a></span><span>
</span><span id="line-83"></span><span>
</span><span id="line-84"></span><span>  </span><span class="hs-comment">-- When given --list-sources, just output the list of sources to a file.</span><span>
</span><span id="line-85"></span><span>  </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">SDistFlags -&gt; Flag String
</span><a href="Distribution.Simple.Setup.html#sDistListSources"><span class="hs-identifier hs-var hs-var">sDistListSources</span></a></span><span> </span><span class="annot"><span class="annottext">SDistFlags
</span><a href="#local-6989586621679729281"><span class="hs-identifier hs-var">flags</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-86"></span><span>    </span><span class="annot"><a href="Distribution.Simple.Flag.html#Flag"><span class="hs-identifier hs-type">Flag</span></a></span><span> </span><span id="local-6989586621679729272"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729272"><span class="hs-identifier hs-var">path</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String -&gt; IOMode -&gt; (Handle -&gt; IO ()) -&gt; IO ()
forall r. String -&gt; IOMode -&gt; (Handle -&gt; IO r) -&gt; IO r
</span><a href="../../base/src/System.IO.html#withFile"><span class="hs-identifier hs-var">withFile</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729272"><span class="hs-identifier hs-var">path</span></a></span><span> </span><span class="annot"><span class="annottext">IOMode
</span><a href="../../base/src/GHC.IO.IOMode.html#WriteMode"><span class="hs-identifier hs-var">WriteMode</span></a></span><span> </span><span class="annot"><span class="annottext">((Handle -&gt; IO ()) -&gt; IO ()) -&gt; (Handle -&gt; IO ()) -&gt; IO ()
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="hs-glyph">\</span><span id="local-6989586621679729271"><span class="annot"><span class="annottext">Handle
</span><a href="#local-6989586621679729271"><span class="hs-identifier hs-var">outHandle</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-keyword">do</span><span>
</span><span id="line-87"></span><span>      </span><span id="local-6989586621679729270"><span class="annot"><span class="annottext">[String]
</span><a href="#local-6989586621679729270"><span class="hs-identifier hs-var">ordinary</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">Verbosity
-&gt; String -&gt; PackageDescription -&gt; [PPSuffixHandler] -&gt; IO [String]
</span><a href="Distribution.Simple.SrcDist.html#listPackageSources"><span class="hs-identifier hs-var">listPackageSources</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729269"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;.&quot;</span></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679729282"><span class="hs-identifier hs-var">pkg</span></a></span><span> </span><span class="annot"><span class="annottext">[PPSuffixHandler]
</span><a href="#local-6989586621679729279"><span class="hs-identifier hs-var">pps</span></a></span><span>
</span><span id="line-88"></span><span>      </span><span class="annot"><span class="annottext">(String -&gt; IO ()) -&gt; [String] -&gt; IO ()
forall (t :: * -&gt; *) (f :: * -&gt; *) a b.
(Foldable t, Applicative f) =&gt;
(a -&gt; f b) -&gt; t a -&gt; f ()
</span><a href="../../base/src/Data.Foldable.html#traverse_"><span class="hs-identifier hs-var">traverse_</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Handle -&gt; String -&gt; IO ()
</span><a href="../../base/src/GHC.IO.Handle.Text.html#hPutStrLn"><span class="hs-identifier hs-var">hPutStrLn</span></a></span><span> </span><span class="annot"><span class="annottext">Handle
</span><a href="#local-6989586621679729271"><span class="hs-identifier hs-var">outHandle</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">[String]
</span><a href="#local-6989586621679729270"><span class="hs-identifier hs-var">ordinary</span></a></span><span>
</span><span id="line-89"></span><span>      </span><span class="annot"><span class="annottext">Verbosity -&gt; String -&gt; IO ()
</span><a href="Distribution.Simple.Utils.html#notice"><span class="hs-identifier hs-var">notice</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729269"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">(String -&gt; IO ()) -&gt; String -&gt; IO ()
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;List of package sources written to file '&quot;</span></span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729272"><span class="hs-identifier hs-var">path</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;'&quot;</span></span><span>
</span><span id="line-90"></span><span>
</span><span id="line-91"></span><span>    </span><span class="annot"><span class="annottext">Flag String
</span><a href="Distribution.Simple.Flag.html#NoFlag"><span class="hs-identifier hs-var">NoFlag</span></a></span><span>    </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-keyword">do</span><span>
</span><span id="line-92"></span><span>      </span><span class="hs-comment">-- do some QA</span><span>
</span><span id="line-93"></span><span>      </span><span class="annot"><span class="annottext">Verbosity -&gt; PackageDescription -&gt; IO ()
</span><a href="Distribution.Simple.SrcDist.html#printPackageProblems"><span class="hs-identifier hs-var">printPackageProblems</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729269"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679729282"><span class="hs-identifier hs-var">pkg</span></a></span><span>
</span><span id="line-94"></span><span>
</span><span id="line-95"></span><span>      </span><span id="local-6989586621679729265"><span class="annot"><span class="annottext">UTCTime
</span><a href="#local-6989586621679729265"><span class="hs-identifier hs-var">date</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">IO UTCTime
</span><a href="../../time/src/Data.Time.Clock.POSIX.html#getCurrentTime"><span class="hs-identifier hs-var">getCurrentTime</span></a></span><span>
</span><span id="line-96"></span><span>      </span><span class="hs-keyword">let</span><span> </span><span id="local-6989586621679729264"><span class="annot"><span class="annottext">pkg' :: PackageDescription
</span><a href="#local-6989586621679729264"><span class="hs-identifier hs-var hs-var">pkg'</span></a></span></span><span> </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="#local-6989586621679729263"><span class="hs-identifier hs-var">snapshot</span></a></span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">UTCTime -&gt; PackageDescription -&gt; PackageDescription
</span><a href="Distribution.Simple.SrcDist.html#snapshotPackage"><span class="hs-identifier hs-var">snapshotPackage</span></a></span><span> </span><span class="annot"><span class="annottext">UTCTime
</span><a href="#local-6989586621679729265"><span class="hs-identifier hs-var">date</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679729282"><span class="hs-identifier hs-var">pkg</span></a></span><span>
</span><span id="line-97"></span><span>               </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../base/src/GHC.Base.html#otherwise"><span class="hs-identifier hs-var">otherwise</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679729282"><span class="hs-identifier hs-var">pkg</span></a></span><span>
</span><span id="line-98"></span><span>
</span><span id="line-99"></span><span>      </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">Flag String -&gt; Maybe String
forall a. Flag a -&gt; Maybe a
</span><a href="Distribution.Simple.Flag.html#flagToMaybe"><span class="hs-identifier hs-var">flagToMaybe</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">SDistFlags -&gt; Flag String
</span><a href="Distribution.Simple.Setup.html#sDistDirectory"><span class="hs-identifier hs-var hs-var">sDistDirectory</span></a></span><span> </span><span class="annot"><span class="annottext">SDistFlags
</span><a href="#local-6989586621679729281"><span class="hs-identifier hs-var">flags</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-100"></span><span>        </span><span class="annot"><a href="../../base/src/GHC.Maybe.html#Just"><span class="hs-identifier hs-type">Just</span></a></span><span> </span><span id="local-6989586621679729260"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729260"><span class="hs-identifier hs-var">targetDir</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-keyword">do</span><span>
</span><span id="line-101"></span><span>          </span><span class="annot"><span class="annottext">String -&gt; PackageDescription -&gt; IO ()
</span><a href="#local-6989586621679729259"><span class="hs-identifier hs-var">generateSourceDir</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729260"><span class="hs-identifier hs-var">targetDir</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679729264"><span class="hs-identifier hs-var">pkg'</span></a></span><span>
</span><span id="line-102"></span><span>          </span><span class="annot"><span class="annottext">Verbosity -&gt; String -&gt; IO ()
</span><a href="Distribution.Simple.Utils.html#info"><span class="hs-identifier hs-var">info</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729269"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">(String -&gt; IO ()) -&gt; String -&gt; IO ()
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;Source directory created: &quot;</span></span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729260"><span class="hs-identifier hs-var">targetDir</span></a></span><span>
</span><span id="line-103"></span><span>
</span><span id="line-104"></span><span>        </span><span class="annot"><span class="annottext">Maybe String
</span><a href="../../base/src/GHC.Maybe.html#Nothing"><span class="hs-identifier hs-var">Nothing</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-keyword">do</span><span>
</span><span id="line-105"></span><span>          </span><span class="annot"><span class="annottext">Verbosity -&gt; Bool -&gt; String -&gt; IO ()
</span><a href="Distribution.Simple.Utils.html#createDirectoryIfMissingVerbose"><span class="hs-identifier hs-var">createDirectoryIfMissingVerbose</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729269"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">True</span></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729275"><span class="hs-identifier hs-var">tmpTargetDir</span></a></span><span>
</span><span id="line-106"></span><span>          </span><span class="annot"><span class="annottext">Verbosity -&gt; String -&gt; String -&gt; (String -&gt; IO ()) -&gt; IO ()
forall a. Verbosity -&gt; String -&gt; String -&gt; (String -&gt; IO a) -&gt; IO a
</span><a href="Distribution.Simple.Utils.html#withTempDirectory"><span class="hs-identifier hs-var">withTempDirectory</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729269"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729275"><span class="hs-identifier hs-var">tmpTargetDir</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;sdist.&quot;</span></span><span> </span><span class="annot"><span class="annottext">((String -&gt; IO ()) -&gt; IO ()) -&gt; (String -&gt; IO ()) -&gt; IO ()
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="hs-glyph">\</span><span id="local-6989586621679729255"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729255"><span class="hs-identifier hs-var">tmpDir</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-keyword">do</span><span>
</span><span id="line-107"></span><span>            </span><span class="hs-keyword">let</span><span> </span><span id="local-6989586621679729254"><span class="annot"><span class="annottext">targetDir :: String
</span><a href="#local-6989586621679729254"><span class="hs-identifier hs-var hs-var">targetDir</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729255"><span class="hs-identifier hs-var">tmpDir</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
</span><a href="../../filepath/src/System.FilePath.Windows.html#%3C%2F%3E"><span class="hs-operator hs-var">&lt;/&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription -&gt; String
</span><a href="Distribution.Simple.SrcDist.html#tarBallName"><span class="hs-identifier hs-var">tarBallName</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679729264"><span class="hs-identifier hs-var">pkg'</span></a></span><span>
</span><span id="line-108"></span><span>            </span><span class="annot"><span class="annottext">String -&gt; PackageDescription -&gt; IO ()
</span><a href="#local-6989586621679729259"><span class="hs-identifier hs-var">generateSourceDir</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729254"><span class="hs-identifier hs-var">targetDir</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679729264"><span class="hs-identifier hs-var">pkg'</span></a></span><span>
</span><span id="line-109"></span><span>            </span><span id="local-6989586621679729252"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729252"><span class="hs-identifier hs-var">targzFile</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">Verbosity -&gt; PackageDescription -&gt; String -&gt; String -&gt; IO String
</span><a href="Distribution.Simple.SrcDist.html#createArchive"><span class="hs-identifier hs-var">createArchive</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729269"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679729264"><span class="hs-identifier hs-var">pkg'</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729255"><span class="hs-identifier hs-var">tmpDir</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729276"><span class="hs-identifier hs-var">targetPref</span></a></span><span>
</span><span id="line-110"></span><span>            </span><span class="annot"><span class="annottext">Verbosity -&gt; String -&gt; IO ()
</span><a href="Distribution.Simple.Utils.html#notice"><span class="hs-identifier hs-var">notice</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729269"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">(String -&gt; IO ()) -&gt; String -&gt; IO ()
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;Source tarball created: &quot;</span></span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729252"><span class="hs-identifier hs-var">targzFile</span></a></span><span>
</span><span id="line-111"></span><span>
</span><span id="line-112"></span><span>  </span><span class="hs-keyword">where</span><span>
</span><span id="line-113"></span><span>    </span><span class="annot"><a href="#local-6989586621679729259"><span class="hs-identifier hs-type">generateSourceDir</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../base/src/GHC.IO.html#FilePath"><span class="hs-identifier hs-type">FilePath</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Types.PackageDescription.html#PackageDescription"><span class="hs-identifier hs-type">PackageDescription</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="hs-identifier hs-type">IO</span></span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span><span>
</span><span id="line-114"></span><span>    </span><span id="local-6989586621679729259"><span class="annot"><span class="annottext">generateSourceDir :: String -&gt; PackageDescription -&gt; IO ()
</span><a href="#local-6989586621679729259"><span class="hs-identifier hs-var hs-var">generateSourceDir</span></a></span></span><span> </span><span id="local-6989586621679729251"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729251"><span class="hs-identifier hs-var">targetDir</span></a></span></span><span> </span><span id="local-6989586621679729250"><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679729250"><span class="hs-identifier hs-var">pkg'</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
</span><span id="line-115"></span><span>      </span><span class="annot"><span class="annottext">Verbosity -&gt; String -&gt; PackageIdentifier -&gt; IO ()
</span><a href="Distribution.Simple.Utils.html#setupMessage"><span class="hs-identifier hs-var">setupMessage</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729269"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;Building source dist for&quot;</span></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">PackageDescription -&gt; PackageIdentifier
forall pkg. Package pkg =&gt; pkg -&gt; PackageIdentifier
</span><a href="Distribution.Package.html#packageId"><span class="hs-identifier hs-var">packageId</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679729250"><span class="hs-identifier hs-var">pkg'</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-116"></span><span>      </span><span class="annot"><span class="annottext">Verbosity
-&gt; PackageDescription -&gt; String -&gt; [PPSuffixHandler] -&gt; IO ()
</span><a href="Distribution.Simple.SrcDist.html#prepareTree"><span class="hs-identifier hs-var">prepareTree</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729269"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679729250"><span class="hs-identifier hs-var">pkg'</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729251"><span class="hs-identifier hs-var">targetDir</span></a></span><span> </span><span class="annot"><span class="annottext">[PPSuffixHandler]
</span><a href="#local-6989586621679729279"><span class="hs-identifier hs-var">pps</span></a></span><span>
</span><span id="line-117"></span><span>      </span><span class="annot"><span class="annottext">Bool -&gt; IO () -&gt; IO ()
forall (f :: * -&gt; *). Applicative f =&gt; Bool -&gt; f () -&gt; f ()
</span><a href="../../base/src/GHC.Base.html#when"><span class="hs-identifier hs-var">when</span></a></span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="#local-6989586621679729263"><span class="hs-identifier hs-var">snapshot</span></a></span><span> </span><span class="annot"><span class="annottext">(IO () -&gt; IO ()) -&gt; IO () -&gt; IO ()
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span>
</span><span id="line-118"></span><span>        </span><span class="annot"><span class="annottext">Verbosity -&gt; PackageDescription -&gt; String -&gt; IO ()
</span><a href="Distribution.Simple.SrcDist.html#overwriteSnapshotPackageDesc"><span class="hs-identifier hs-var">overwriteSnapshotPackageDesc</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729269"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679729250"><span class="hs-identifier hs-var">pkg'</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729251"><span class="hs-identifier hs-var">targetDir</span></a></span><span>
</span><span id="line-119"></span><span>
</span><span id="line-120"></span><span>    </span><span id="local-6989586621679729269"><span class="annot"><span class="annottext">verbosity :: Verbosity
</span><a href="#local-6989586621679729269"><span class="hs-identifier hs-var hs-var">verbosity</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Flag Verbosity -&gt; Verbosity
forall a. WithCallStack (Flag a -&gt; a)
</span><a href="Distribution.Simple.Flag.html#fromFlag"><span class="hs-identifier hs-var">fromFlag</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">SDistFlags -&gt; Flag Verbosity
</span><a href="Distribution.Simple.Setup.html#sDistVerbosity"><span class="hs-identifier hs-var hs-var">sDistVerbosity</span></a></span><span> </span><span class="annot"><span class="annottext">SDistFlags
</span><a href="#local-6989586621679729281"><span class="hs-identifier hs-var">flags</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-121"></span><span>    </span><span id="local-6989586621679729263"><span class="annot"><span class="annottext">snapshot :: Bool
</span><a href="#local-6989586621679729263"><span class="hs-identifier hs-var hs-var">snapshot</span></a></span></span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Flag Bool -&gt; Bool
forall a. WithCallStack (Flag a -&gt; a)
</span><a href="Distribution.Simple.Flag.html#fromFlag"><span class="hs-identifier hs-var">fromFlag</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">SDistFlags -&gt; Flag Bool
</span><a href="Distribution.Simple.Setup.html#sDistSnapshot"><span class="hs-identifier hs-var hs-var">sDistSnapshot</span></a></span><span> </span><span class="annot"><span class="annottext">SDistFlags
</span><a href="#local-6989586621679729281"><span class="hs-identifier hs-var">flags</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-122"></span><span>
</span><span id="line-123"></span><span class="hs-comment">-- | List all source files of a package.</span><span>
</span><span id="line-124"></span><span class="hs-comment">--</span><span>
</span><span id="line-125"></span><span class="hs-comment">-- Since @Cabal-3.4@ returns a single list. There shouldn't be any</span><span>
</span><span id="line-126"></span><span class="hs-comment">-- executable files, they are hardly portable.</span><span>
</span><span id="line-127"></span><span class="hs-comment">-- </span><span>
</span><span id="line-128"></span><span class="annot"><a href="Distribution.Simple.SrcDist.html#listPackageSources"><span class="hs-identifier hs-type">listPackageSources</span></a></span><span>
</span><span id="line-129"></span><span>    </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Verbosity.html#Verbosity"><span class="hs-identifier hs-type">Verbosity</span></a></span><span>          </span><span class="hs-comment">-- ^ verbosity</span><span>
</span><span id="line-130"></span><span>    </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../base/src/GHC.IO.html#FilePath"><span class="hs-identifier hs-type">FilePath</span></a></span><span>           </span><span class="hs-comment">-- ^ directory with cabal file</span><span>
</span><span id="line-131"></span><span>    </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Types.PackageDescription.html#PackageDescription"><span class="hs-identifier hs-type">PackageDescription</span></a></span><span> </span><span class="hs-comment">-- ^ info from the cabal file</span><span>
</span><span id="line-132"></span><span>    </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="Distribution.Simple.PreProcess.html#PPSuffixHandler"><span class="hs-identifier hs-type">PPSuffixHandler</span></a></span><span class="hs-special">]</span><span>  </span><span class="hs-comment">-- ^ extra preprocessors (include suffixes)</span><span>
</span><span id="line-133"></span><span>    </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="hs-identifier hs-type">IO</span></span><span> </span><span class="hs-special">[</span><span class="annot"><a href="../../base/src/GHC.IO.html#FilePath"><span class="hs-identifier hs-type">FilePath</span></a></span><span class="hs-special">]</span><span>      </span><span class="hs-comment">-- ^ relative paths</span><span>
</span><span id="line-134"></span><span id="listPackageSources"><span class="annot"><span class="annottext">listPackageSources :: Verbosity
-&gt; String -&gt; PackageDescription -&gt; [PPSuffixHandler] -&gt; IO [String]
</span><a href="Distribution.Simple.SrcDist.html#listPackageSources"><span class="hs-identifier hs-var hs-var">listPackageSources</span></a></span></span><span> </span><span id="local-6989586621679729238"><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729238"><span class="hs-identifier hs-var">verbosity</span></a></span></span><span> </span><span id="local-6989586621679729237"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729237"><span class="hs-identifier hs-var">cwd</span></a></span></span><span> </span><span id="local-6989586621679729236"><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679729236"><span class="hs-identifier hs-var">pkg_descr0</span></a></span></span><span> </span><span id="local-6989586621679729235"><span class="annot"><span class="annottext">[PPSuffixHandler]
</span><a href="#local-6989586621679729235"><span class="hs-identifier hs-var">pps</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
</span><span id="line-135"></span><span>    </span><span class="hs-comment">-- Call helpers that actually do all work.</span><span>
</span><span id="line-136"></span><span>    </span><span class="annot"><span class="annottext">Verbosity
-&gt; (Verbosity -&gt; String -&gt; IO [String])
-&gt; String
-&gt; PackageDescription
-&gt; [PPSuffixHandler]
-&gt; IO [String]
</span><a href="Distribution.Simple.SrcDist.html#listPackageSources%27"><span class="hs-identifier hs-var">listPackageSources'</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729238"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity -&gt; String -&gt; IO [String]
forall a. Verbosity -&gt; String -&gt; IO a
</span><a href="Distribution.Simple.Utils.html#die%27"><span class="hs-identifier hs-var">die'</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729237"><span class="hs-identifier hs-var">cwd</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679729232"><span class="hs-identifier hs-var">pkg_descr</span></a></span><span> </span><span class="annot"><span class="annottext">[PPSuffixHandler]
</span><a href="#local-6989586621679729235"><span class="hs-identifier hs-var">pps</span></a></span><span>
</span><span id="line-137"></span><span>  </span><span class="hs-keyword">where</span><span>
</span><span id="line-138"></span><span>    </span><span id="local-6989586621679729232"><span class="annot"><span class="annottext">pkg_descr :: PackageDescription
</span><a href="#local-6989586621679729232"><span class="hs-identifier hs-var hs-var">pkg_descr</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">PackageDescription -&gt; PackageDescription
</span><a href="Distribution.Simple.SrcDist.html#filterAutogenModules"><span class="hs-identifier hs-var">filterAutogenModules</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679729236"><span class="hs-identifier hs-var">pkg_descr0</span></a></span><span>
</span><span id="line-139"></span><span>
</span><span id="line-140"></span><span class="hs-comment">-- | A variant of 'listPackageSources' with configurable 'die'.</span><span>
</span><span id="line-141"></span><span class="hs-comment">--</span><span>
</span><span id="line-142"></span><span class="hs-comment">-- /Note:/ may still 'die' directly. For example on missing include file.</span><span>
</span><span id="line-143"></span><span class="hs-comment">--</span><span>
</span><span id="line-144"></span><span class="hs-comment">-- Since @3.4.0.0</span><span>
</span><span id="line-145"></span><span class="annot"><a href="Distribution.Simple.SrcDist.html#listPackageSourcesWithDie"><span class="hs-identifier hs-type">listPackageSourcesWithDie</span></a></span><span>
</span><span id="line-146"></span><span>    </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Verbosity.html#Verbosity"><span class="hs-identifier hs-type">Verbosity</span></a></span><span>          </span><span class="hs-comment">-- ^ verbosity</span><span>
</span><span id="line-147"></span><span>    </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="Distribution.Verbosity.html#Verbosity"><span class="hs-identifier hs-type">Verbosity</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="hs-identifier hs-type">IO</span></span><span> </span><span class="hs-special">[</span><span class="annot"><a href="../../base/src/GHC.IO.html#FilePath"><span class="hs-identifier hs-type">FilePath</span></a></span><span class="hs-special">]</span><span class="hs-special">)</span><span> </span><span class="hs-comment">-- ^ 'die'' alternative</span><span>
</span><span id="line-148"></span><span>    </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../base/src/GHC.IO.html#FilePath"><span class="hs-identifier hs-type">FilePath</span></a></span><span>           </span><span class="hs-comment">-- ^ directory with cabal file</span><span>
</span><span id="line-149"></span><span>    </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Types.PackageDescription.html#PackageDescription"><span class="hs-identifier hs-type">PackageDescription</span></a></span><span> </span><span class="hs-comment">-- ^ info from the cabal file</span><span>
</span><span id="line-150"></span><span>    </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="Distribution.Simple.PreProcess.html#PPSuffixHandler"><span class="hs-identifier hs-type">PPSuffixHandler</span></a></span><span class="hs-special">]</span><span>  </span><span class="hs-comment">-- ^ extra preprocessors (include suffixes)</span><span>
</span><span id="line-151"></span><span>    </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="hs-identifier hs-type">IO</span></span><span> </span><span class="hs-special">[</span><span class="annot"><a href="../../base/src/GHC.IO.html#FilePath"><span class="hs-identifier hs-type">FilePath</span></a></span><span class="hs-special">]</span><span>      </span><span class="hs-comment">-- ^ relative paths</span><span>
</span><span id="line-152"></span><span id="listPackageSourcesWithDie"><span class="annot"><span class="annottext">listPackageSourcesWithDie :: Verbosity
-&gt; (Verbosity -&gt; String -&gt; IO [String])
-&gt; String
-&gt; PackageDescription
-&gt; [PPSuffixHandler]
-&gt; IO [String]
</span><a href="Distribution.Simple.SrcDist.html#listPackageSourcesWithDie"><span class="hs-identifier hs-var hs-var">listPackageSourcesWithDie</span></a></span></span><span> </span><span id="local-6989586621679729230"><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729230"><span class="hs-identifier hs-var">verbosity</span></a></span></span><span> </span><span id="local-6989586621679729229"><span class="annot"><span class="annottext">Verbosity -&gt; String -&gt; IO [String]
</span><a href="#local-6989586621679729229"><span class="hs-identifier hs-var">rip</span></a></span></span><span> </span><span id="local-6989586621679729228"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729228"><span class="hs-identifier hs-var">cwd</span></a></span></span><span> </span><span id="local-6989586621679729227"><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679729227"><span class="hs-identifier hs-var">pkg_descr0</span></a></span></span><span> </span><span id="local-6989586621679729226"><span class="annot"><span class="annottext">[PPSuffixHandler]
</span><a href="#local-6989586621679729226"><span class="hs-identifier hs-var">pps</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
</span><span id="line-153"></span><span>    </span><span class="hs-comment">-- Call helpers that actually do all work.</span><span>
</span><span id="line-154"></span><span>    </span><span class="annot"><span class="annottext">Verbosity
-&gt; (Verbosity -&gt; String -&gt; IO [String])
-&gt; String
-&gt; PackageDescription
-&gt; [PPSuffixHandler]
-&gt; IO [String]
</span><a href="Distribution.Simple.SrcDist.html#listPackageSources%27"><span class="hs-identifier hs-var">listPackageSources'</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729230"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity -&gt; String -&gt; IO [String]
</span><a href="#local-6989586621679729229"><span class="hs-identifier hs-var">rip</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729228"><span class="hs-identifier hs-var">cwd</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679729225"><span class="hs-identifier hs-var">pkg_descr</span></a></span><span> </span><span class="annot"><span class="annottext">[PPSuffixHandler]
</span><a href="#local-6989586621679729226"><span class="hs-identifier hs-var">pps</span></a></span><span>
</span><span id="line-155"></span><span>  </span><span class="hs-keyword">where</span><span>
</span><span id="line-156"></span><span>    </span><span id="local-6989586621679729225"><span class="annot"><span class="annottext">pkg_descr :: PackageDescription
</span><a href="#local-6989586621679729225"><span class="hs-identifier hs-var hs-var">pkg_descr</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">PackageDescription -&gt; PackageDescription
</span><a href="Distribution.Simple.SrcDist.html#filterAutogenModules"><span class="hs-identifier hs-var">filterAutogenModules</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679729227"><span class="hs-identifier hs-var">pkg_descr0</span></a></span><span>
</span><span id="line-157"></span><span>
</span><span id="line-158"></span><span>
</span><span id="line-159"></span><span class="annot"><a href="Distribution.Simple.SrcDist.html#listPackageSources%27"><span class="hs-identifier hs-type">listPackageSources'</span></a></span><span>
</span><span id="line-160"></span><span>  </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Verbosity.html#Verbosity"><span class="hs-identifier hs-type">Verbosity</span></a></span><span>
</span><span id="line-161"></span><span>  </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="Distribution.Verbosity.html#Verbosity"><span class="hs-identifier hs-type">Verbosity</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="hs-identifier hs-type">IO</span></span><span> </span><span class="hs-special">[</span><span class="annot"><a href="../../base/src/GHC.IO.html#FilePath"><span class="hs-identifier hs-type">FilePath</span></a></span><span class="hs-special">]</span><span class="hs-special">)</span><span>
</span><span id="line-162"></span><span>  </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../base/src/GHC.IO.html#FilePath"><span class="hs-identifier hs-type">FilePath</span></a></span><span>
</span><span id="line-163"></span><span>  </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Types.PackageDescription.html#PackageDescription"><span class="hs-identifier hs-type">PackageDescription</span></a></span><span>
</span><span id="line-164"></span><span>  </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="Distribution.Simple.PreProcess.html#PPSuffixHandler"><span class="hs-identifier hs-type">PPSuffixHandler</span></a></span><span class="hs-special">]</span><span>
</span><span id="line-165"></span><span>  </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="hs-identifier hs-type">IO</span></span><span> </span><span class="hs-special">[</span><span class="annot"><a href="../../base/src/GHC.IO.html#FilePath"><span class="hs-identifier hs-type">FilePath</span></a></span><span class="hs-special">]</span><span>
</span><span id="line-166"></span><span id="listPackageSources%27"><span class="annot"><span class="annottext">listPackageSources' :: Verbosity
-&gt; (Verbosity -&gt; String -&gt; IO [String])
-&gt; String
-&gt; PackageDescription
-&gt; [PPSuffixHandler]
-&gt; IO [String]
</span><a href="Distribution.Simple.SrcDist.html#listPackageSources%27"><span class="hs-identifier hs-var hs-var">listPackageSources'</span></a></span></span><span> </span><span id="local-6989586621679729224"><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729224"><span class="hs-identifier hs-var">verbosity</span></a></span></span><span> </span><span id="local-6989586621679729223"><span class="annot"><span class="annottext">Verbosity -&gt; String -&gt; IO [String]
</span><a href="#local-6989586621679729223"><span class="hs-identifier hs-var">rip</span></a></span></span><span> </span><span id="local-6989586621679729222"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729222"><span class="hs-identifier hs-var">cwd</span></a></span></span><span> </span><span id="local-6989586621679729221"><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679729221"><span class="hs-identifier hs-var">pkg_descr</span></a></span></span><span> </span><span id="local-6989586621679729220"><span class="annot"><span class="annottext">[PPSuffixHandler]
</span><a href="#local-6989586621679729220"><span class="hs-identifier hs-var">pps</span></a></span></span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-167"></span><span>  </span><span class="annot"><span class="annottext">([[String]] -&gt; [String]) -&gt; IO [[String]] -&gt; IO [String]
forall (f :: * -&gt; *) a b. Functor f =&gt; (a -&gt; b) -&gt; f a -&gt; f b
</span><a href="../../base/src/GHC.Base.html#fmap"><span class="hs-identifier hs-var">fmap</span></a></span><span> </span><span class="annot"><span class="annottext">[[String]] -&gt; [String]
forall (t :: * -&gt; *) a. Foldable t =&gt; t [a] -&gt; [a]
</span><a href="../../base/src/Data.Foldable.html#concat"><span class="hs-identifier hs-var">concat</span></a></span><span> </span><span class="annot"><span class="annottext">(IO [[String]] -&gt; IO [String])
-&gt; ([IO [String]] -&gt; IO [[String]]) -&gt; [IO [String]] -&gt; IO [String]
forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#."><span class="hs-operator hs-var">.</span></a></span><span> </span><span class="annot"><span class="annottext">[IO [String]] -&gt; IO [[String]]
forall (t :: * -&gt; *) (f :: * -&gt; *) a.
(Traversable t, Applicative f) =&gt;
t (f a) -&gt; f (t a)
</span><a href="../../base/src/Data.Traversable.html#sequenceA"><span class="hs-identifier hs-var">sequenceA</span></a></span><span> </span><span class="annot"><span class="annottext">([IO [String]] -&gt; IO [String]) -&gt; [IO [String]] -&gt; IO [String]
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span>
</span><span id="line-168"></span><span>  </span><span class="hs-special">[</span><span>
</span><span id="line-169"></span><span>    </span><span class="hs-comment">-- Library sources.</span><span>
</span><span id="line-170"></span><span>    </span><span class="annot"><span class="annottext">([[String]] -&gt; [String]) -&gt; IO [[String]] -&gt; IO [String]
forall (f :: * -&gt; *) a b. Functor f =&gt; (a -&gt; b) -&gt; f a -&gt; f b
</span><a href="../../base/src/GHC.Base.html#fmap"><span class="hs-identifier hs-var">fmap</span></a></span><span> </span><span class="annot"><span class="annottext">[[String]] -&gt; [String]
forall (t :: * -&gt; *) a. Foldable t =&gt; t [a] -&gt; [a]
</span><a href="../../base/src/Data.Foldable.html#concat"><span class="hs-identifier hs-var">concat</span></a></span><span>
</span><span id="line-171"></span><span>    </span><span class="annot"><span class="annottext">(IO [[String]] -&gt; IO [String])
-&gt; ((Library -&gt; IO [String]) -&gt; IO [[String]])
-&gt; (Library -&gt; IO [String])
-&gt; IO [String]
forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#."><span class="hs-operator hs-var">.</span></a></span><span> </span><span class="annot"><span class="annottext">(Library -&gt; IO [String]) -&gt; IO [[String]]
forall {f :: * -&gt; *} {b}.
Applicative f =&gt;
(Library -&gt; f b) -&gt; f [b]
</span><a href="#local-6989586621679729216"><span class="hs-identifier hs-var">withAllLib</span></a></span><span> </span><span class="annot"><span class="annottext">((Library -&gt; IO [String]) -&gt; IO [String])
-&gt; (Library -&gt; IO [String]) -&gt; IO [String]
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="hs-glyph">\</span><span class="annot"><a href="Distribution.Types.Library.html#Library"><span class="hs-identifier hs-type">Library</span></a></span><span> </span><span class="hs-special">{</span><span>
</span><span id="line-172"></span><span>                      </span><span class="annot"><span class="annottext">exposedModules :: Library -&gt; [ModuleName]
</span><a href="Distribution.Types.Library.html#exposedModules"><span class="hs-identifier hs-var">exposedModules</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span id="local-6989586621679729213"><span class="annot"><span class="annottext">[ModuleName]
</span><a href="#local-6989586621679729213"><span class="hs-identifier hs-var">modules</span></a></span></span><span class="hs-special">,</span><span>
</span><span id="line-173"></span><span>                      </span><span class="annot"><span class="annottext">signatures :: Library -&gt; [ModuleName]
</span><a href="Distribution.Types.Library.html#signatures"><span class="hs-identifier hs-var">signatures</span></a></span><span>     </span><span class="hs-glyph">=</span><span> </span><span id="local-6989586621679729211"><span class="annot"><span class="annottext">[ModuleName]
</span><a href="#local-6989586621679729211"><span class="hs-identifier hs-var">sigs</span></a></span></span><span class="hs-special">,</span><span>
</span><span id="line-174"></span><span>                      </span><span class="annot"><span class="annottext">libBuildInfo :: Library -&gt; BuildInfo
</span><a href="Distribution.Types.Library.html#libBuildInfo"><span class="hs-identifier hs-var">libBuildInfo</span></a></span><span>   </span><span class="hs-glyph">=</span><span> </span><span id="local-6989586621679729209"><span class="annot"><span class="annottext">BuildInfo
</span><a href="#local-6989586621679729209"><span class="hs-identifier hs-var">libBi</span></a></span></span><span>
</span><span id="line-175"></span><span>                    </span><span class="hs-special">}</span><span> </span><span class="hs-glyph">-&gt;</span><span>
</span><span id="line-176"></span><span>     </span><span class="annot"><span class="annottext">Verbosity
-&gt; (Verbosity -&gt; String -&gt; IO [String])
-&gt; String
-&gt; BuildInfo
-&gt; [PPSuffixHandler]
-&gt; [ModuleName]
-&gt; IO [String]
</span><a href="Distribution.Simple.SrcDist.html#allSourcesBuildInfo"><span class="hs-identifier hs-var">allSourcesBuildInfo</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729224"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity -&gt; String -&gt; IO [String]
</span><a href="#local-6989586621679729223"><span class="hs-identifier hs-var">rip</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729222"><span class="hs-identifier hs-var">cwd</span></a></span><span> </span><span class="annot"><span class="annottext">BuildInfo
</span><a href="#local-6989586621679729209"><span class="hs-identifier hs-var">libBi</span></a></span><span> </span><span class="annot"><span class="annottext">[PPSuffixHandler]
</span><a href="#local-6989586621679729220"><span class="hs-identifier hs-var">pps</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">[ModuleName]
</span><a href="#local-6989586621679729213"><span class="hs-identifier hs-var">modules</span></a></span><span> </span><span class="annot"><span class="annottext">[ModuleName] -&gt; [ModuleName] -&gt; [ModuleName]
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">[ModuleName]
</span><a href="#local-6989586621679729211"><span class="hs-identifier hs-var">sigs</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-177"></span><span>
</span><span id="line-178"></span><span>    </span><span class="hs-comment">-- Executables sources.</span><span>
</span><span id="line-179"></span><span>  </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">([[String]] -&gt; [String]) -&gt; IO [[String]] -&gt; IO [String]
forall (f :: * -&gt; *) a b. Functor f =&gt; (a -&gt; b) -&gt; f a -&gt; f b
</span><a href="../../base/src/GHC.Base.html#fmap"><span class="hs-identifier hs-var">fmap</span></a></span><span> </span><span class="annot"><span class="annottext">[[String]] -&gt; [String]
forall (t :: * -&gt; *) a. Foldable t =&gt; t [a] -&gt; [a]
</span><a href="../../base/src/Data.Foldable.html#concat"><span class="hs-identifier hs-var">concat</span></a></span><span>
</span><span id="line-180"></span><span>    </span><span class="annot"><span class="annottext">(IO [[String]] -&gt; IO [String])
-&gt; ((Executable -&gt; IO [String]) -&gt; IO [[String]])
-&gt; (Executable -&gt; IO [String])
-&gt; IO [String]
forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#."><span class="hs-operator hs-var">.</span></a></span><span> </span><span class="annot"><span class="annottext">(Executable -&gt; IO [String]) -&gt; IO [[String]]
forall {f :: * -&gt; *} {b}.
Applicative f =&gt;
(Executable -&gt; f b) -&gt; f [b]
</span><a href="#local-6989586621679729207"><span class="hs-identifier hs-var">withAllExe</span></a></span><span> </span><span class="annot"><span class="annottext">((Executable -&gt; IO [String]) -&gt; IO [String])
-&gt; (Executable -&gt; IO [String]) -&gt; IO [String]
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="hs-glyph">\</span><span class="annot"><a href="Distribution.Types.Executable.html#Executable"><span class="hs-identifier hs-type">Executable</span></a></span><span> </span><span class="hs-special">{</span><span> </span><span class="annot"><span class="annottext">modulePath :: Executable -&gt; String
</span><a href="Distribution.Types.Executable.html#modulePath"><span class="hs-identifier hs-var">modulePath</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span id="local-6989586621679729204"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729204"><span class="hs-identifier hs-var">mainPath</span></a></span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">buildInfo :: Executable -&gt; BuildInfo
</span><a href="Distribution.Types.Executable.html#buildInfo"><span class="hs-identifier hs-var">buildInfo</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span id="local-6989586621679729202"><span class="annot"><span class="annottext">BuildInfo
</span><a href="#local-6989586621679729202"><span class="hs-identifier hs-var">exeBi</span></a></span></span><span> </span><span class="hs-special">}</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-keyword">do</span><span>
</span><span id="line-181"></span><span>       </span><span id="local-6989586621679729201"><span class="annot"><span class="annottext">[String]
</span><a href="#local-6989586621679729201"><span class="hs-identifier hs-var">biSrcs</span></a></span></span><span>  </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">Verbosity
-&gt; (Verbosity -&gt; String -&gt; IO [String])
-&gt; String
-&gt; BuildInfo
-&gt; [PPSuffixHandler]
-&gt; [ModuleName]
-&gt; IO [String]
</span><a href="Distribution.Simple.SrcDist.html#allSourcesBuildInfo"><span class="hs-identifier hs-var">allSourcesBuildInfo</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729224"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity -&gt; String -&gt; IO [String]
</span><a href="#local-6989586621679729223"><span class="hs-identifier hs-var">rip</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729222"><span class="hs-identifier hs-var">cwd</span></a></span><span> </span><span class="annot"><span class="annottext">BuildInfo
</span><a href="#local-6989586621679729202"><span class="hs-identifier hs-var">exeBi</span></a></span><span> </span><span class="annot"><span class="annottext">[PPSuffixHandler]
</span><a href="#local-6989586621679729220"><span class="hs-identifier hs-var">pps</span></a></span><span> </span><span class="hs-special">[</span><span class="hs-special">]</span><span>
</span><span id="line-182"></span><span>       </span><span id="local-6989586621679729200"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729200"><span class="hs-identifier hs-var">mainSrc</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">Verbosity
-&gt; String -&gt; BuildInfo -&gt; [PPSuffixHandler] -&gt; String -&gt; IO String
</span><a href="Distribution.Simple.SrcDist.html#findMainExeFile"><span class="hs-identifier hs-var">findMainExeFile</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729224"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729222"><span class="hs-identifier hs-var">cwd</span></a></span><span> </span><span class="annot"><span class="annottext">BuildInfo
</span><a href="#local-6989586621679729202"><span class="hs-identifier hs-var">exeBi</span></a></span><span> </span><span class="annot"><span class="annottext">[PPSuffixHandler]
</span><a href="#local-6989586621679729220"><span class="hs-identifier hs-var">pps</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729204"><span class="hs-identifier hs-var">mainPath</span></a></span><span>
</span><span id="line-183"></span><span>       </span><span class="annot"><span class="annottext">[String] -&gt; IO [String]
forall (m :: * -&gt; *) a. Monad m =&gt; a -&gt; m a
</span><a href="../../base/src/GHC.Base.html#return"><span class="hs-identifier hs-var">return</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729200"><span class="hs-identifier hs-var">mainSrc</span></a></span><span class="annot"><span class="annottext">String -&gt; [String] -&gt; [String]
forall a. a -&gt; [a] -&gt; [a]
</span><span class="hs-glyph hs-var">:</span></span><span class="annot"><span class="annottext">[String]
</span><a href="#local-6989586621679729201"><span class="hs-identifier hs-var">biSrcs</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-184"></span><span>
</span><span id="line-185"></span><span>    </span><span class="hs-comment">-- Foreign library sources</span><span>
</span><span id="line-186"></span><span>  </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">([[String]] -&gt; [String]) -&gt; IO [[String]] -&gt; IO [String]
forall (f :: * -&gt; *) a b. Functor f =&gt; (a -&gt; b) -&gt; f a -&gt; f b
</span><a href="../../base/src/GHC.Base.html#fmap"><span class="hs-identifier hs-var">fmap</span></a></span><span> </span><span class="annot"><span class="annottext">[[String]] -&gt; [String]
forall (t :: * -&gt; *) a. Foldable t =&gt; t [a] -&gt; [a]
</span><a href="../../base/src/Data.Foldable.html#concat"><span class="hs-identifier hs-var">concat</span></a></span><span>
</span><span id="line-187"></span><span>    </span><span class="annot"><span class="annottext">(IO [[String]] -&gt; IO [String])
-&gt; ((ForeignLib -&gt; IO [String]) -&gt; IO [[String]])
-&gt; (ForeignLib -&gt; IO [String])
-&gt; IO [String]
forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#."><span class="hs-operator hs-var">.</span></a></span><span> </span><span class="annot"><span class="annottext">(ForeignLib -&gt; IO [String]) -&gt; IO [[String]]
forall {f :: * -&gt; *} {b}.
Applicative f =&gt;
(ForeignLib -&gt; f b) -&gt; f [b]
</span><a href="#local-6989586621679729198"><span class="hs-identifier hs-var">withAllFLib</span></a></span><span> </span><span class="annot"><span class="annottext">((ForeignLib -&gt; IO [String]) -&gt; IO [String])
-&gt; (ForeignLib -&gt; IO [String]) -&gt; IO [String]
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="hs-glyph">\</span><span id="local-6989586621679729197"><span class="annot"><span class="annottext">flib :: ForeignLib
</span><a href="#local-6989586621679729197"><span class="hs-identifier hs-var">flib</span></a></span></span><span class="hs-glyph">@</span><span class="hs-special">(</span><span class="annot"><a href="Distribution.Types.ForeignLib.html#ForeignLib"><span class="hs-identifier hs-type">ForeignLib</span></a></span><span> </span><span class="hs-special">{</span><span> </span><span class="annot"><span class="annottext">foreignLibBuildInfo :: ForeignLib -&gt; BuildInfo
</span><a href="Distribution.Types.ForeignLib.html#foreignLibBuildInfo"><span class="hs-identifier hs-var">foreignLibBuildInfo</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span id="local-6989586621679729194"><span class="annot"><span class="annottext">BuildInfo
</span><a href="#local-6989586621679729194"><span class="hs-identifier hs-var">flibBi</span></a></span></span><span> </span><span class="hs-special">}</span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-keyword">do</span><span>
</span><span id="line-188"></span><span>       </span><span id="local-6989586621679729193"><span class="annot"><span class="annottext">[String]
</span><a href="#local-6989586621679729193"><span class="hs-identifier hs-var">biSrcs</span></a></span></span><span>   </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">Verbosity
-&gt; (Verbosity -&gt; String -&gt; IO [String])
-&gt; String
-&gt; BuildInfo
-&gt; [PPSuffixHandler]
-&gt; [ModuleName]
-&gt; IO [String]
</span><a href="Distribution.Simple.SrcDist.html#allSourcesBuildInfo"><span class="hs-identifier hs-var">allSourcesBuildInfo</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729224"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity -&gt; String -&gt; IO [String]
</span><a href="#local-6989586621679729223"><span class="hs-identifier hs-var">rip</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729222"><span class="hs-identifier hs-var">cwd</span></a></span><span> </span><span class="annot"><span class="annottext">BuildInfo
</span><a href="#local-6989586621679729194"><span class="hs-identifier hs-var">flibBi</span></a></span><span> </span><span class="annot"><span class="annottext">[PPSuffixHandler]
</span><a href="#local-6989586621679729220"><span class="hs-identifier hs-var">pps</span></a></span><span> </span><span class="hs-special">[</span><span class="hs-special">]</span><span>
</span><span id="line-189"></span><span>       </span><span id="local-6989586621679729192"><span class="annot"><span class="annottext">[String]
</span><a href="#local-6989586621679729192"><span class="hs-identifier hs-var">defFiles</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">(String -&gt; IO String) -&gt; [String] -&gt; IO [String]
forall (t :: * -&gt; *) (f :: * -&gt; *) a b.
(Traversable t, Applicative f) =&gt;
(a -&gt; f b) -&gt; t a -&gt; f (t b)
</span><a href="../../base/src/Data.Traversable.html#traverse"><span class="hs-identifier hs-var">traverse</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Verbosity
-&gt; String -&gt; BuildInfo -&gt; [PPSuffixHandler] -&gt; String -&gt; IO String
</span><a href="Distribution.Simple.SrcDist.html#findModDefFile"><span class="hs-identifier hs-var">findModDefFile</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729224"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729222"><span class="hs-identifier hs-var">cwd</span></a></span><span> </span><span class="annot"><span class="annottext">BuildInfo
</span><a href="#local-6989586621679729194"><span class="hs-identifier hs-var">flibBi</span></a></span><span> </span><span class="annot"><span class="annottext">[PPSuffixHandler]
</span><a href="#local-6989586621679729220"><span class="hs-identifier hs-var">pps</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-190"></span><span>         </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ForeignLib -&gt; [String]
</span><a href="Distribution.Types.ForeignLib.html#foreignLibModDefFile"><span class="hs-identifier hs-var hs-var">foreignLibModDefFile</span></a></span><span> </span><span class="annot"><span class="annottext">ForeignLib
</span><a href="#local-6989586621679729197"><span class="hs-identifier hs-var">flib</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-191"></span><span>       </span><span class="annot"><span class="annottext">[String] -&gt; IO [String]
forall (m :: * -&gt; *) a. Monad m =&gt; a -&gt; m a
</span><a href="../../base/src/GHC.Base.html#return"><span class="hs-identifier hs-var">return</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">[String]
</span><a href="#local-6989586621679729192"><span class="hs-identifier hs-var">defFiles</span></a></span><span> </span><span class="annot"><span class="annottext">[String] -&gt; [String] -&gt; [String]
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">[String]
</span><a href="#local-6989586621679729193"><span class="hs-identifier hs-var">biSrcs</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-192"></span><span>
</span><span id="line-193"></span><span>    </span><span class="hs-comment">-- Test suites sources.</span><span>
</span><span id="line-194"></span><span>  </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">([[String]] -&gt; [String]) -&gt; IO [[String]] -&gt; IO [String]
forall (f :: * -&gt; *) a b. Functor f =&gt; (a -&gt; b) -&gt; f a -&gt; f b
</span><a href="../../base/src/GHC.Base.html#fmap"><span class="hs-identifier hs-var">fmap</span></a></span><span> </span><span class="annot"><span class="annottext">[[String]] -&gt; [String]
forall (t :: * -&gt; *) a. Foldable t =&gt; t [a] -&gt; [a]
</span><a href="../../base/src/Data.Foldable.html#concat"><span class="hs-identifier hs-var">concat</span></a></span><span>
</span><span id="line-195"></span><span>    </span><span class="annot"><span class="annottext">(IO [[String]] -&gt; IO [String])
-&gt; ((TestSuite -&gt; IO [String]) -&gt; IO [[String]])
-&gt; (TestSuite -&gt; IO [String])
-&gt; IO [String]
forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#."><span class="hs-operator hs-var">.</span></a></span><span> </span><span class="annot"><span class="annottext">(TestSuite -&gt; IO [String]) -&gt; IO [[String]]
forall {f :: * -&gt; *} {b}.
Applicative f =&gt;
(TestSuite -&gt; f b) -&gt; f [b]
</span><a href="#local-6989586621679729188"><span class="hs-identifier hs-var">withAllTest</span></a></span><span> </span><span class="annot"><span class="annottext">((TestSuite -&gt; IO [String]) -&gt; IO [String])
-&gt; (TestSuite -&gt; IO [String]) -&gt; IO [String]
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="hs-glyph">\</span><span id="local-6989586621679729187"><span class="annot"><span class="annottext">TestSuite
</span><a href="#local-6989586621679729187"><span class="hs-identifier hs-var">t</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-keyword">do</span><span>
</span><span id="line-196"></span><span>       </span><span class="hs-keyword">let</span><span> </span><span id="local-6989586621679729186"><span class="annot"><span class="annottext">bi :: BuildInfo
</span><a href="#local-6989586621679729186"><span class="hs-identifier hs-var hs-var">bi</span></a></span></span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">TestSuite -&gt; BuildInfo
</span><a href="Distribution.Types.TestSuite.html#testBuildInfo"><span class="hs-identifier hs-var hs-var">testBuildInfo</span></a></span><span> </span><span class="annot"><span class="annottext">TestSuite
</span><a href="#local-6989586621679729187"><span class="hs-identifier hs-var">t</span></a></span><span>
</span><span id="line-197"></span><span>       </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">TestSuite -&gt; TestSuiteInterface
</span><a href="Distribution.Types.TestSuite.html#testInterface"><span class="hs-identifier hs-var hs-var">testInterface</span></a></span><span> </span><span class="annot"><span class="annottext">TestSuite
</span><a href="#local-6989586621679729187"><span class="hs-identifier hs-var">t</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-198"></span><span>         </span><span class="annot"><a href="Distribution.Types.TestSuiteInterface.html#TestSuiteExeV10"><span class="hs-identifier hs-type">TestSuiteExeV10</span></a></span><span> </span><span class="annot"><span class="annottext">Version
</span><span class="hs-identifier">_</span></span><span> </span><span id="local-6989586621679729182"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729182"><span class="hs-identifier hs-var">mainPath</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-keyword">do</span><span>
</span><span id="line-199"></span><span>           </span><span id="local-6989586621679729181"><span class="annot"><span class="annottext">[String]
</span><a href="#local-6989586621679729181"><span class="hs-identifier hs-var">biSrcs</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">Verbosity
-&gt; (Verbosity -&gt; String -&gt; IO [String])
-&gt; String
-&gt; BuildInfo
-&gt; [PPSuffixHandler]
-&gt; [ModuleName]
-&gt; IO [String]
</span><a href="Distribution.Simple.SrcDist.html#allSourcesBuildInfo"><span class="hs-identifier hs-var">allSourcesBuildInfo</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729224"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity -&gt; String -&gt; IO [String]
</span><a href="#local-6989586621679729223"><span class="hs-identifier hs-var">rip</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729222"><span class="hs-identifier hs-var">cwd</span></a></span><span> </span><span class="annot"><span class="annottext">BuildInfo
</span><a href="#local-6989586621679729186"><span class="hs-identifier hs-var">bi</span></a></span><span> </span><span class="annot"><span class="annottext">[PPSuffixHandler]
</span><a href="#local-6989586621679729220"><span class="hs-identifier hs-var">pps</span></a></span><span> </span><span class="hs-special">[</span><span class="hs-special">]</span><span>
</span><span id="line-200"></span><span>           </span><span id="local-6989586621679729180"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729180"><span class="hs-identifier hs-var">srcMainFile</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">Verbosity
-&gt; String -&gt; BuildInfo -&gt; [PPSuffixHandler] -&gt; String -&gt; IO String
</span><a href="Distribution.Simple.SrcDist.html#findMainExeFile"><span class="hs-identifier hs-var">findMainExeFile</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729224"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729222"><span class="hs-identifier hs-var">cwd</span></a></span><span> </span><span class="annot"><span class="annottext">BuildInfo
</span><a href="#local-6989586621679729186"><span class="hs-identifier hs-var">bi</span></a></span><span> </span><span class="annot"><span class="annottext">[PPSuffixHandler]
</span><a href="#local-6989586621679729220"><span class="hs-identifier hs-var">pps</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729182"><span class="hs-identifier hs-var">mainPath</span></a></span><span>
</span><span id="line-201"></span><span>           </span><span class="annot"><span class="annottext">[String] -&gt; IO [String]
forall (m :: * -&gt; *) a. Monad m =&gt; a -&gt; m a
</span><a href="../../base/src/GHC.Base.html#return"><span class="hs-identifier hs-var">return</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729180"><span class="hs-identifier hs-var">srcMainFile</span></a></span><span class="annot"><span class="annottext">String -&gt; [String] -&gt; [String]
forall a. a -&gt; [a] -&gt; [a]
</span><span class="hs-glyph hs-var">:</span></span><span class="annot"><span class="annottext">[String]
</span><a href="#local-6989586621679729181"><span class="hs-identifier hs-var">biSrcs</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-202"></span><span>         </span><span class="annot"><a href="Distribution.Types.TestSuiteInterface.html#TestSuiteLibV09"><span class="hs-identifier hs-type">TestSuiteLibV09</span></a></span><span> </span><span class="annot"><span class="annottext">Version
</span><span class="hs-identifier">_</span></span><span> </span><span id="local-6989586621679729178"><span class="annot"><span class="annottext">ModuleName
</span><a href="#local-6989586621679729178"><span class="hs-identifier hs-var">m</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span>
</span><span id="line-203"></span><span>           </span><span class="annot"><span class="annottext">Verbosity
-&gt; (Verbosity -&gt; String -&gt; IO [String])
-&gt; String
-&gt; BuildInfo
-&gt; [PPSuffixHandler]
-&gt; [ModuleName]
-&gt; IO [String]
</span><a href="Distribution.Simple.SrcDist.html#allSourcesBuildInfo"><span class="hs-identifier hs-var">allSourcesBuildInfo</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729224"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity -&gt; String -&gt; IO [String]
</span><a href="#local-6989586621679729223"><span class="hs-identifier hs-var">rip</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729222"><span class="hs-identifier hs-var">cwd</span></a></span><span> </span><span class="annot"><span class="annottext">BuildInfo
</span><a href="#local-6989586621679729186"><span class="hs-identifier hs-var">bi</span></a></span><span> </span><span class="annot"><span class="annottext">[PPSuffixHandler]
</span><a href="#local-6989586621679729220"><span class="hs-identifier hs-var">pps</span></a></span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">ModuleName
</span><a href="#local-6989586621679729178"><span class="hs-identifier hs-var">m</span></a></span><span class="hs-special">]</span><span>
</span><span id="line-204"></span><span>         </span><span class="annot"><a href="Distribution.Types.TestSuiteInterface.html#TestSuiteUnsupported"><span class="hs-identifier hs-type">TestSuiteUnsupported</span></a></span><span> </span><span id="local-6989586621679729176"><span class="annot"><span class="annottext">TestType
</span><a href="#local-6989586621679729176"><span class="hs-identifier hs-var">tp</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span>
</span><span id="line-205"></span><span>           </span><span class="annot"><span class="annottext">Verbosity -&gt; String -&gt; IO [String]
</span><a href="#local-6989586621679729223"><span class="hs-identifier hs-var">rip</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729224"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">(String -&gt; IO [String]) -&gt; String -&gt; IO [String]
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;Unsupported test suite type: &quot;</span></span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">TestType -&gt; String
forall a. Show a =&gt; a -&gt; String
</span><a href="../../base/src/GHC.Show.html#show"><span class="hs-identifier hs-var">show</span></a></span><span> </span><span class="annot"><span class="annottext">TestType
</span><a href="#local-6989586621679729176"><span class="hs-identifier hs-var">tp</span></a></span><span>
</span><span id="line-206"></span><span>
</span><span id="line-207"></span><span>    </span><span class="hs-comment">-- Benchmarks sources.</span><span>
</span><span id="line-208"></span><span>  </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">([[String]] -&gt; [String]) -&gt; IO [[String]] -&gt; IO [String]
forall (f :: * -&gt; *) a b. Functor f =&gt; (a -&gt; b) -&gt; f a -&gt; f b
</span><a href="../../base/src/GHC.Base.html#fmap"><span class="hs-identifier hs-var">fmap</span></a></span><span> </span><span class="annot"><span class="annottext">[[String]] -&gt; [String]
forall (t :: * -&gt; *) a. Foldable t =&gt; t [a] -&gt; [a]
</span><a href="../../base/src/Data.Foldable.html#concat"><span class="hs-identifier hs-var">concat</span></a></span><span>
</span><span id="line-209"></span><span>    </span><span class="annot"><span class="annottext">(IO [[String]] -&gt; IO [String])
-&gt; ((Benchmark -&gt; IO [String]) -&gt; IO [[String]])
-&gt; (Benchmark -&gt; IO [String])
-&gt; IO [String]
forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#."><span class="hs-operator hs-var">.</span></a></span><span> </span><span class="annot"><span class="annottext">(Benchmark -&gt; IO [String]) -&gt; IO [[String]]
forall {f :: * -&gt; *} {b}.
Applicative f =&gt;
(Benchmark -&gt; f b) -&gt; f [b]
</span><a href="#local-6989586621679729174"><span class="hs-identifier hs-var">withAllBenchmark</span></a></span><span> </span><span class="annot"><span class="annottext">((Benchmark -&gt; IO [String]) -&gt; IO [String])
-&gt; (Benchmark -&gt; IO [String]) -&gt; IO [String]
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="hs-glyph">\</span><span id="local-6989586621679729173"><span class="annot"><span class="annottext">Benchmark
</span><a href="#local-6989586621679729173"><span class="hs-identifier hs-var">bm</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-keyword">do</span><span>
</span><span id="line-210"></span><span>       </span><span class="hs-keyword">let</span><span>  </span><span id="local-6989586621679729172"><span class="annot"><span class="annottext">bi :: BuildInfo
</span><a href="#local-6989586621679729172"><span class="hs-identifier hs-var hs-var">bi</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Benchmark -&gt; BuildInfo
</span><a href="Distribution.Types.Benchmark.html#benchmarkBuildInfo"><span class="hs-identifier hs-var hs-var">benchmarkBuildInfo</span></a></span><span> </span><span class="annot"><span class="annottext">Benchmark
</span><a href="#local-6989586621679729173"><span class="hs-identifier hs-var">bm</span></a></span><span>
</span><span id="line-211"></span><span>       </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">Benchmark -&gt; BenchmarkInterface
</span><a href="Distribution.Types.Benchmark.html#benchmarkInterface"><span class="hs-identifier hs-var hs-var">benchmarkInterface</span></a></span><span> </span><span class="annot"><span class="annottext">Benchmark
</span><a href="#local-6989586621679729173"><span class="hs-identifier hs-var">bm</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-212"></span><span>         </span><span class="annot"><a href="Distribution.Types.BenchmarkInterface.html#BenchmarkExeV10"><span class="hs-identifier hs-type">BenchmarkExeV10</span></a></span><span> </span><span class="annot"><span class="annottext">Version
</span><span class="hs-identifier">_</span></span><span> </span><span id="local-6989586621679729168"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729168"><span class="hs-identifier hs-var">mainPath</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-keyword">do</span><span>
</span><span id="line-213"></span><span>           </span><span id="local-6989586621679729167"><span class="annot"><span class="annottext">[String]
</span><a href="#local-6989586621679729167"><span class="hs-identifier hs-var">biSrcs</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">Verbosity
-&gt; (Verbosity -&gt; String -&gt; IO [String])
-&gt; String
-&gt; BuildInfo
-&gt; [PPSuffixHandler]
-&gt; [ModuleName]
-&gt; IO [String]
</span><a href="Distribution.Simple.SrcDist.html#allSourcesBuildInfo"><span class="hs-identifier hs-var">allSourcesBuildInfo</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729224"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity -&gt; String -&gt; IO [String]
</span><a href="#local-6989586621679729223"><span class="hs-identifier hs-var">rip</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729222"><span class="hs-identifier hs-var">cwd</span></a></span><span> </span><span class="annot"><span class="annottext">BuildInfo
</span><a href="#local-6989586621679729172"><span class="hs-identifier hs-var">bi</span></a></span><span> </span><span class="annot"><span class="annottext">[PPSuffixHandler]
</span><a href="#local-6989586621679729220"><span class="hs-identifier hs-var">pps</span></a></span><span> </span><span class="hs-special">[</span><span class="hs-special">]</span><span>
</span><span id="line-214"></span><span>           </span><span id="local-6989586621679729166"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729166"><span class="hs-identifier hs-var">srcMainFile</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">Verbosity
-&gt; String -&gt; BuildInfo -&gt; [PPSuffixHandler] -&gt; String -&gt; IO String
</span><a href="Distribution.Simple.SrcDist.html#findMainExeFile"><span class="hs-identifier hs-var">findMainExeFile</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729224"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729222"><span class="hs-identifier hs-var">cwd</span></a></span><span> </span><span class="annot"><span class="annottext">BuildInfo
</span><a href="#local-6989586621679729172"><span class="hs-identifier hs-var">bi</span></a></span><span> </span><span class="annot"><span class="annottext">[PPSuffixHandler]
</span><a href="#local-6989586621679729220"><span class="hs-identifier hs-var">pps</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729168"><span class="hs-identifier hs-var">mainPath</span></a></span><span>
</span><span id="line-215"></span><span>           </span><span class="annot"><span class="annottext">[String] -&gt; IO [String]
forall (m :: * -&gt; *) a. Monad m =&gt; a -&gt; m a
</span><a href="../../base/src/GHC.Base.html#return"><span class="hs-identifier hs-var">return</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729166"><span class="hs-identifier hs-var">srcMainFile</span></a></span><span class="annot"><span class="annottext">String -&gt; [String] -&gt; [String]
forall a. a -&gt; [a] -&gt; [a]
</span><span class="hs-glyph hs-var">:</span></span><span class="annot"><span class="annottext">[String]
</span><a href="#local-6989586621679729167"><span class="hs-identifier hs-var">biSrcs</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-216"></span><span>         </span><span class="annot"><a href="Distribution.Types.BenchmarkInterface.html#BenchmarkUnsupported"><span class="hs-identifier hs-type">BenchmarkUnsupported</span></a></span><span> </span><span id="local-6989586621679729164"><span class="annot"><span class="annottext">BenchmarkType
</span><a href="#local-6989586621679729164"><span class="hs-identifier hs-var">tp</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span>
</span><span id="line-217"></span><span>            </span><span class="annot"><span class="annottext">Verbosity -&gt; String -&gt; IO [String]
</span><a href="#local-6989586621679729223"><span class="hs-identifier hs-var">rip</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729224"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">(String -&gt; IO [String]) -&gt; String -&gt; IO [String]
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;Unsupported benchmark type: &quot;</span></span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">BenchmarkType -&gt; String
forall a. Show a =&gt; a -&gt; String
</span><a href="../../base/src/GHC.Show.html#show"><span class="hs-identifier hs-var">show</span></a></span><span> </span><span class="annot"><span class="annottext">BenchmarkType
</span><a href="#local-6989586621679729164"><span class="hs-identifier hs-var">tp</span></a></span><span>
</span><span id="line-218"></span><span>
</span><span id="line-219"></span><span>    </span><span class="hs-comment">-- Data files.</span><span>
</span><span id="line-220"></span><span>  </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">([[String]] -&gt; [String]) -&gt; IO [[String]] -&gt; IO [String]
forall (f :: * -&gt; *) a b. Functor f =&gt; (a -&gt; b) -&gt; f a -&gt; f b
</span><a href="../../base/src/GHC.Base.html#fmap"><span class="hs-identifier hs-var">fmap</span></a></span><span> </span><span class="annot"><span class="annottext">[[String]] -&gt; [String]
forall (t :: * -&gt; *) a. Foldable t =&gt; t [a] -&gt; [a]
</span><a href="../../base/src/Data.Foldable.html#concat"><span class="hs-identifier hs-var">concat</span></a></span><span>
</span><span id="line-221"></span><span>    </span><span class="annot"><span class="annottext">(IO [[String]] -&gt; IO [String])
-&gt; ((String -&gt; IO [String]) -&gt; IO [[String]])
-&gt; (String -&gt; IO [String])
-&gt; IO [String]
forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#."><span class="hs-operator hs-var">.</span></a></span><span> </span><span class="annot"><span class="annottext">[String] -&gt; (String -&gt; IO [String]) -&gt; IO [[String]]
forall (t :: * -&gt; *) (f :: * -&gt; *) a b.
(Traversable t, Applicative f) =&gt;
t a -&gt; (a -&gt; f b) -&gt; f (t b)
</span><a href="../../base/src/Data.Traversable.html#for"><span class="hs-identifier hs-var">for</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">PackageDescription -&gt; [String]
</span><a href="Distribution.Types.PackageDescription.html#dataFiles"><span class="hs-identifier hs-var hs-var">dataFiles</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679729221"><span class="hs-identifier hs-var">pkg_descr</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">((String -&gt; IO [String]) -&gt; IO [String])
-&gt; (String -&gt; IO [String]) -&gt; IO [String]
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="hs-glyph">\</span><span id="local-6989586621679729161"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729161"><span class="hs-identifier hs-var">filename</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-keyword">do</span><span>
</span><span id="line-222"></span><span>        </span><span class="hs-keyword">let</span><span> </span><span id="local-6989586621679729160"><span class="annot"><span class="annottext">srcDataDirRaw :: String
</span><a href="#local-6989586621679729160"><span class="hs-identifier hs-var hs-var">srcDataDirRaw</span></a></span></span><span>                   </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">PackageDescription -&gt; String
</span><a href="Distribution.Types.PackageDescription.html#dataDir"><span class="hs-identifier hs-var hs-var">dataDir</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679729221"><span class="hs-identifier hs-var">pkg_descr</span></a></span><span>
</span><span id="line-223"></span><span>            </span><span id="local-6989586621679729157"><span class="annot"><span class="annottext">srcDataDir :: String
</span><a href="#local-6989586621679729157"><span class="hs-identifier hs-var hs-var">srcDataDir</span></a></span></span><span> </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">String -&gt; Bool
forall (t :: * -&gt; *) a. Foldable t =&gt; t a -&gt; Bool
</span><a href="../../base/src/Data.Foldable.html#null"><span class="hs-identifier hs-var">null</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729160"><span class="hs-identifier hs-var">srcDataDirRaw</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;.&quot;</span></span><span>
</span><span id="line-224"></span><span>                       </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../base/src/GHC.Base.html#otherwise"><span class="hs-identifier hs-var">otherwise</span></a></span><span>          </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729160"><span class="hs-identifier hs-var">srcDataDirRaw</span></a></span><span>
</span><span id="line-225"></span><span>        </span><span class="annot"><span class="annottext">Verbosity -&gt; CabalSpecVersion -&gt; String -&gt; String -&gt; IO [String]
</span><a href="Distribution.Simple.Glob.html#matchDirFileGlob"><span class="hs-identifier hs-var">matchDirFileGlob</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729224"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">PackageDescription -&gt; CabalSpecVersion
</span><a href="Distribution.Types.PackageDescription.html#specVersion"><span class="hs-identifier hs-var hs-var">specVersion</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679729221"><span class="hs-identifier hs-var">pkg_descr</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729222"><span class="hs-identifier hs-var">cwd</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729157"><span class="hs-identifier hs-var">srcDataDir</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
</span><a href="../../filepath/src/System.FilePath.Windows.html#%3C%2F%3E"><span class="hs-operator hs-var">&lt;/&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729161"><span class="hs-identifier hs-var">filename</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-226"></span><span>
</span><span id="line-227"></span><span>    </span><span class="hs-comment">-- Extra source files.</span><span>
</span><span id="line-228"></span><span>  </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">([[String]] -&gt; [String]) -&gt; IO [[String]] -&gt; IO [String]
forall (f :: * -&gt; *) a b. Functor f =&gt; (a -&gt; b) -&gt; f a -&gt; f b
</span><a href="../../base/src/GHC.Base.html#fmap"><span class="hs-identifier hs-var">fmap</span></a></span><span> </span><span class="annot"><span class="annottext">[[String]] -&gt; [String]
forall (t :: * -&gt; *) a. Foldable t =&gt; t [a] -&gt; [a]
</span><a href="../../base/src/Data.Foldable.html#concat"><span class="hs-identifier hs-var">concat</span></a></span><span> </span><span class="annot"><span class="annottext">(IO [[String]] -&gt; IO [String])
-&gt; ((String -&gt; IO [String]) -&gt; IO [[String]])
-&gt; (String -&gt; IO [String])
-&gt; IO [String]
forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#."><span class="hs-operator hs-var">.</span></a></span><span> </span><span class="annot"><span class="annottext">[String] -&gt; (String -&gt; IO [String]) -&gt; IO [[String]]
forall (t :: * -&gt; *) (f :: * -&gt; *) a b.
(Traversable t, Applicative f) =&gt;
t a -&gt; (a -&gt; f b) -&gt; f (t b)
</span><a href="../../base/src/Data.Traversable.html#for"><span class="hs-identifier hs-var">for</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">PackageDescription -&gt; [String]
</span><a href="Distribution.Types.PackageDescription.html#extraSrcFiles"><span class="hs-identifier hs-var hs-var">extraSrcFiles</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679729221"><span class="hs-identifier hs-var">pkg_descr</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">((String -&gt; IO [String]) -&gt; IO [String])
-&gt; (String -&gt; IO [String]) -&gt; IO [String]
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="hs-glyph">\</span><span id="local-6989586621679729152"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729152"><span class="hs-identifier hs-var">fpath</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span>
</span><span id="line-229"></span><span>    </span><span class="annot"><span class="annottext">Verbosity -&gt; CabalSpecVersion -&gt; String -&gt; String -&gt; IO [String]
</span><a href="Distribution.Simple.Glob.html#matchDirFileGlob"><span class="hs-identifier hs-var">matchDirFileGlob</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729224"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">PackageDescription -&gt; CabalSpecVersion
</span><a href="Distribution.Types.PackageDescription.html#specVersion"><span class="hs-identifier hs-var hs-var">specVersion</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679729221"><span class="hs-identifier hs-var">pkg_descr</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729222"><span class="hs-identifier hs-var">cwd</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729152"><span class="hs-identifier hs-var">fpath</span></a></span><span>
</span><span id="line-230"></span><span>
</span><span id="line-231"></span><span>    </span><span class="hs-comment">-- Extra doc files.</span><span>
</span><span id="line-232"></span><span>  </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">([[String]] -&gt; [String]) -&gt; IO [[String]] -&gt; IO [String]
forall (f :: * -&gt; *) a b. Functor f =&gt; (a -&gt; b) -&gt; f a -&gt; f b
</span><a href="../../base/src/GHC.Base.html#fmap"><span class="hs-identifier hs-var">fmap</span></a></span><span> </span><span class="annot"><span class="annottext">[[String]] -&gt; [String]
forall (t :: * -&gt; *) a. Foldable t =&gt; t [a] -&gt; [a]
</span><a href="../../base/src/Data.Foldable.html#concat"><span class="hs-identifier hs-var">concat</span></a></span><span>
</span><span id="line-233"></span><span>    </span><span class="annot"><span class="annottext">(IO [[String]] -&gt; IO [String])
-&gt; ((String -&gt; IO [String]) -&gt; IO [[String]])
-&gt; (String -&gt; IO [String])
-&gt; IO [String]
forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#."><span class="hs-operator hs-var">.</span></a></span><span> </span><span class="annot"><span class="annottext">[String] -&gt; (String -&gt; IO [String]) -&gt; IO [[String]]
forall (t :: * -&gt; *) (f :: * -&gt; *) a b.
(Traversable t, Applicative f) =&gt;
t a -&gt; (a -&gt; f b) -&gt; f (t b)
</span><a href="../../base/src/Data.Traversable.html#for"><span class="hs-identifier hs-var">for</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">PackageDescription -&gt; [String]
</span><a href="Distribution.Types.PackageDescription.html#extraDocFiles"><span class="hs-identifier hs-var hs-var">extraDocFiles</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679729221"><span class="hs-identifier hs-var">pkg_descr</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">((String -&gt; IO [String]) -&gt; IO [String])
-&gt; (String -&gt; IO [String]) -&gt; IO [String]
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="hs-glyph">\</span><span> </span><span id="local-6989586621679729150"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729150"><span class="hs-identifier hs-var">filename</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span>
</span><span id="line-234"></span><span>        </span><span class="annot"><span class="annottext">Verbosity -&gt; CabalSpecVersion -&gt; String -&gt; String -&gt; IO [String]
</span><a href="Distribution.Simple.Glob.html#matchDirFileGlob"><span class="hs-identifier hs-var">matchDirFileGlob</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729224"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">PackageDescription -&gt; CabalSpecVersion
</span><a href="Distribution.Types.PackageDescription.html#specVersion"><span class="hs-identifier hs-var hs-var">specVersion</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679729221"><span class="hs-identifier hs-var">pkg_descr</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729222"><span class="hs-identifier hs-var">cwd</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729150"><span class="hs-identifier hs-var">filename</span></a></span><span>
</span><span id="line-235"></span><span>
</span><span id="line-236"></span><span>    </span><span class="hs-comment">-- License file(s).</span><span>
</span><span id="line-237"></span><span>  </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">[String] -&gt; IO [String]
forall (m :: * -&gt; *) a. Monad m =&gt; a -&gt; m a
</span><a href="../../base/src/GHC.Base.html#return"><span class="hs-identifier hs-var">return</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">PackageDescription -&gt; [String]
</span><a href="Distribution.Types.PackageDescription.html#licenseFiles"><span class="hs-identifier hs-var hs-var">licenseFiles</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679729221"><span class="hs-identifier hs-var">pkg_descr</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-238"></span><span>
</span><span id="line-239"></span><span>    </span><span class="hs-comment">-- Install-include files, without autogen-include files</span><span>
</span><span id="line-240"></span><span>  </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">([[String]] -&gt; [String]) -&gt; IO [[String]] -&gt; IO [String]
forall (f :: * -&gt; *) a b. Functor f =&gt; (a -&gt; b) -&gt; f a -&gt; f b
</span><a href="../../base/src/GHC.Base.html#fmap"><span class="hs-identifier hs-var">fmap</span></a></span><span> </span><span class="annot"><span class="annottext">[[String]] -&gt; [String]
forall (t :: * -&gt; *) a. Foldable t =&gt; t [a] -&gt; [a]
</span><a href="../../base/src/Data.Foldable.html#concat"><span class="hs-identifier hs-var">concat</span></a></span><span>
</span><span id="line-241"></span><span>    </span><span class="annot"><span class="annottext">(IO [[String]] -&gt; IO [String])
-&gt; ((Library -&gt; IO [String]) -&gt; IO [[String]])
-&gt; (Library -&gt; IO [String])
-&gt; IO [String]
forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#."><span class="hs-operator hs-var">.</span></a></span><span> </span><span class="annot"><span class="annottext">(Library -&gt; IO [String]) -&gt; IO [[String]]
forall {f :: * -&gt; *} {b}.
Applicative f =&gt;
(Library -&gt; f b) -&gt; f [b]
</span><a href="#local-6989586621679729216"><span class="hs-identifier hs-var">withAllLib</span></a></span><span> </span><span class="annot"><span class="annottext">((Library -&gt; IO [String]) -&gt; IO [String])
-&gt; (Library -&gt; IO [String]) -&gt; IO [String]
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="hs-glyph">\</span><span> </span><span id="local-6989586621679729148"><span class="annot"><span class="annottext">Library
</span><a href="#local-6989586621679729148"><span class="hs-identifier hs-var">l</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-keyword">do</span><span>
</span><span id="line-242"></span><span>       </span><span class="hs-keyword">let</span><span> </span><span id="local-6989586621679729147"><span class="annot"><span class="annottext">lbi :: BuildInfo
</span><a href="#local-6989586621679729147"><span class="hs-identifier hs-var hs-var">lbi</span></a></span></span><span>   </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Library -&gt; BuildInfo
</span><a href="Distribution.Types.Library.html#libBuildInfo"><span class="hs-identifier hs-var hs-var">libBuildInfo</span></a></span><span> </span><span class="annot"><span class="annottext">Library
</span><a href="#local-6989586621679729148"><span class="hs-identifier hs-var">l</span></a></span><span>
</span><span id="line-243"></span><span>           </span><span id="local-6989586621679729142"><span class="annot"><span class="annottext">incls :: [String]
</span><a href="#local-6989586621679729142"><span class="hs-identifier hs-var hs-var">incls</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">(String -&gt; Bool) -&gt; [String] -&gt; [String]
forall a. (a -&gt; Bool) -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.List.html#filter"><span class="hs-identifier hs-var">filter</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; [String] -&gt; Bool
forall (t :: * -&gt; *) a. (Foldable t, Eq a) =&gt; a -&gt; t a -&gt; Bool
</span><a href="../../base/src/Data.Foldable.html#notElem"><span class="hs-operator hs-var">`notElem`</span></a></span><span> </span><span class="annot"><span class="annottext">BuildInfo -&gt; [String]
</span><a href="Distribution.Types.BuildInfo.html#autogenIncludes"><span class="hs-identifier hs-var hs-var">autogenIncludes</span></a></span><span> </span><span class="annot"><span class="annottext">BuildInfo
</span><a href="#local-6989586621679729147"><span class="hs-identifier hs-var">lbi</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">BuildInfo -&gt; [String]
</span><a href="Distribution.Types.BuildInfo.html#installIncludes"><span class="hs-identifier hs-var hs-var">installIncludes</span></a></span><span> </span><span class="annot"><span class="annottext">BuildInfo
</span><a href="#local-6989586621679729147"><span class="hs-identifier hs-var">lbi</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-244"></span><span>           </span><span id="local-6989586621679729138"><span class="annot"><span class="annottext">relincdirs :: [String]
</span><a href="#local-6989586621679729138"><span class="hs-identifier hs-var hs-var">relincdirs</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;.&quot;</span></span><span> </span><span class="annot"><span class="annottext">String -&gt; [String] -&gt; [String]
forall a. a -&gt; [a] -&gt; [a]
</span><span class="hs-glyph hs-var">:</span></span><span> </span><span class="annot"><span class="annottext">(String -&gt; Bool) -&gt; [String] -&gt; [String]
forall a. (a -&gt; Bool) -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.List.html#filter"><span class="hs-identifier hs-var">filter</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; Bool
</span><a href="../../filepath/src/System.FilePath.Windows.html#isRelative"><span class="hs-identifier hs-var">isRelative</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">BuildInfo -&gt; [String]
</span><a href="Distribution.Types.BuildInfo.html#includeDirs"><span class="hs-identifier hs-var hs-var">includeDirs</span></a></span><span> </span><span class="annot"><span class="annottext">BuildInfo
</span><a href="#local-6989586621679729147"><span class="hs-identifier hs-var">lbi</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-245"></span><span>       </span><span class="annot"><span class="annottext">(String -&gt; IO String) -&gt; [String] -&gt; IO [String]
forall (t :: * -&gt; *) (f :: * -&gt; *) a b.
(Traversable t, Applicative f) =&gt;
(a -&gt; f b) -&gt; t a -&gt; f (t b)
</span><a href="../../base/src/Data.Traversable.html#traverse"><span class="hs-identifier hs-var">traverse</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">((String, String) -&gt; String) -&gt; IO (String, String) -&gt; IO String
forall (f :: * -&gt; *) a b. Functor f =&gt; (a -&gt; b) -&gt; f a -&gt; f b
</span><a href="../../base/src/GHC.Base.html#fmap"><span class="hs-identifier hs-var">fmap</span></a></span><span> </span><span class="annot"><span class="annottext">(String, String) -&gt; String
forall a b. (a, b) -&gt; b
</span><a href="../../base/src/Data.Tuple.html#snd"><span class="hs-identifier hs-var">snd</span></a></span><span> </span><span class="annot"><span class="annottext">(IO (String, String) -&gt; IO String)
-&gt; (String -&gt; IO (String, String)) -&gt; String -&gt; IO String
forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#."><span class="hs-operator hs-var">.</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity -&gt; String -&gt; [String] -&gt; String -&gt; IO (String, String)
</span><a href="Distribution.Simple.SrcDist.html#findIncludeFile"><span class="hs-identifier hs-var">findIncludeFile</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729224"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729222"><span class="hs-identifier hs-var">cwd</span></a></span><span> </span><span class="annot"><span class="annottext">[String]
</span><a href="#local-6989586621679729138"><span class="hs-identifier hs-var">relincdirs</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">[String]
</span><a href="#local-6989586621679729142"><span class="hs-identifier hs-var">incls</span></a></span><span>
</span><span id="line-246"></span><span>
</span><span id="line-247"></span><span>    </span><span class="hs-comment">-- Setup script, if it exists.</span><span>
</span><span id="line-248"></span><span>  </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">(Maybe String -&gt; [String]) -&gt; IO (Maybe String) -&gt; IO [String]
forall (f :: * -&gt; *) a b. Functor f =&gt; (a -&gt; b) -&gt; f a -&gt; f b
</span><a href="../../base/src/GHC.Base.html#fmap"><span class="hs-identifier hs-var">fmap</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">[String] -&gt; (String -&gt; [String]) -&gt; Maybe String -&gt; [String]
forall b a. b -&gt; (a -&gt; b) -&gt; Maybe a -&gt; b
</span><a href="../../base/src/Data.Maybe.html#maybe"><span class="hs-identifier hs-var">maybe</span></a></span><span> </span><span class="hs-special">[</span><span class="hs-special">]</span><span> </span><span class="hs-special">(</span><span class="hs-glyph">\</span><span id="local-6989586621679729134"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729134"><span class="hs-identifier hs-var">f</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729134"><span class="hs-identifier hs-var">f</span></a></span><span class="hs-special">]</span><span class="hs-special">)</span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">(IO (Maybe String) -&gt; IO [String])
-&gt; IO (Maybe String) -&gt; IO [String]
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; IO (Maybe String)
</span><a href="Distribution.Simple.SrcDist.html#findSetupFile"><span class="hs-identifier hs-var">findSetupFile</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729222"><span class="hs-identifier hs-var">cwd</span></a></span><span>
</span><span id="line-249"></span><span>
</span><span id="line-250"></span><span>    </span><span class="hs-comment">-- The .cabal file itself.</span><span>
</span><span id="line-251"></span><span>  </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">(String -&gt; [String]) -&gt; IO String -&gt; IO [String]
forall (f :: * -&gt; *) a b. Functor f =&gt; (a -&gt; b) -&gt; f a -&gt; f b
</span><a href="../../base/src/GHC.Base.html#fmap"><span class="hs-identifier hs-var">fmap</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-glyph">\</span><span id="local-6989586621679729132"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729132"><span class="hs-identifier hs-var">d</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729132"><span class="hs-identifier hs-var">d</span></a></span><span class="hs-special">]</span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Verbosity -&gt; String -&gt; String -&gt; IO String
</span><a href="Distribution.Simple.Utils.html#tryFindPackageDescCwd"><span class="hs-identifier hs-var">tryFindPackageDescCwd</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729224"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729222"><span class="hs-identifier hs-var">cwd</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;.&quot;</span></span><span class="hs-special">)</span><span>
</span><span id="line-252"></span><span>
</span><span id="line-253"></span><span>  </span><span class="hs-special">]</span><span>
</span><span id="line-254"></span><span>  </span><span class="hs-keyword">where</span><span>
</span><span id="line-255"></span><span>    </span><span class="hs-comment">-- We have to deal with all libs and executables, so we have local</span><span>
</span><span id="line-256"></span><span>    </span><span class="hs-comment">-- versions of these functions that ignore the 'buildable' attribute:</span><span>
</span><span id="line-257"></span><span>    </span><span id="local-6989586621679729216"><span class="annot"><span class="annottext">withAllLib :: (Library -&gt; f b) -&gt; f [b]
</span><a href="#local-6989586621679729216"><span class="hs-identifier hs-var hs-var">withAllLib</span></a></span></span><span>       </span><span id="local-6989586621679729127"><span class="annot"><span class="annottext">Library -&gt; f b
</span><a href="#local-6989586621679729127"><span class="hs-identifier hs-var">action</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">(Library -&gt; f b) -&gt; [Library] -&gt; f [b]
forall (t :: * -&gt; *) (f :: * -&gt; *) a b.
(Traversable t, Applicative f) =&gt;
(a -&gt; f b) -&gt; t a -&gt; f (t b)
</span><a href="../../base/src/Data.Traversable.html#traverse"><span class="hs-identifier hs-var">traverse</span></a></span><span> </span><span class="annot"><span class="annottext">Library -&gt; f b
</span><a href="#local-6989586621679729127"><span class="hs-identifier hs-var">action</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">PackageDescription -&gt; [Library]
</span><a href="Distribution.Types.PackageDescription.html#allLibraries"><span class="hs-identifier hs-var">allLibraries</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679729221"><span class="hs-identifier hs-var">pkg_descr</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-258"></span><span>    </span><span id="local-6989586621679729198"><span class="annot"><span class="annottext">withAllFLib :: (ForeignLib -&gt; f b) -&gt; f [b]
</span><a href="#local-6989586621679729198"><span class="hs-identifier hs-var hs-var">withAllFLib</span></a></span></span><span>      </span><span id="local-6989586621679729122"><span class="annot"><span class="annottext">ForeignLib -&gt; f b
</span><a href="#local-6989586621679729122"><span class="hs-identifier hs-var">action</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">(ForeignLib -&gt; f b) -&gt; [ForeignLib] -&gt; f [b]
forall (t :: * -&gt; *) (f :: * -&gt; *) a b.
(Traversable t, Applicative f) =&gt;
(a -&gt; f b) -&gt; t a -&gt; f (t b)
</span><a href="../../base/src/Data.Traversable.html#traverse"><span class="hs-identifier hs-var">traverse</span></a></span><span> </span><span class="annot"><span class="annottext">ForeignLib -&gt; f b
</span><a href="#local-6989586621679729122"><span class="hs-identifier hs-var">action</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">PackageDescription -&gt; [ForeignLib]
</span><a href="Distribution.Types.PackageDescription.html#foreignLibs"><span class="hs-identifier hs-var hs-var">foreignLibs</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679729221"><span class="hs-identifier hs-var">pkg_descr</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-259"></span><span>    </span><span id="local-6989586621679729207"><span class="annot"><span class="annottext">withAllExe :: (Executable -&gt; f b) -&gt; f [b]
</span><a href="#local-6989586621679729207"><span class="hs-identifier hs-var hs-var">withAllExe</span></a></span></span><span>       </span><span id="local-6989586621679729117"><span class="annot"><span class="annottext">Executable -&gt; f b
</span><a href="#local-6989586621679729117"><span class="hs-identifier hs-var">action</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">(Executable -&gt; f b) -&gt; [Executable] -&gt; f [b]
forall (t :: * -&gt; *) (f :: * -&gt; *) a b.
(Traversable t, Applicative f) =&gt;
(a -&gt; f b) -&gt; t a -&gt; f (t b)
</span><a href="../../base/src/Data.Traversable.html#traverse"><span class="hs-identifier hs-var">traverse</span></a></span><span> </span><span class="annot"><span class="annottext">Executable -&gt; f b
</span><a href="#local-6989586621679729117"><span class="hs-identifier hs-var">action</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">PackageDescription -&gt; [Executable]
</span><a href="Distribution.Types.PackageDescription.html#executables"><span class="hs-identifier hs-var hs-var">executables</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679729221"><span class="hs-identifier hs-var">pkg_descr</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-260"></span><span>    </span><span id="local-6989586621679729188"><span class="annot"><span class="annottext">withAllTest :: (TestSuite -&gt; f b) -&gt; f [b]
</span><a href="#local-6989586621679729188"><span class="hs-identifier hs-var hs-var">withAllTest</span></a></span></span><span>      </span><span id="local-6989586621679729112"><span class="annot"><span class="annottext">TestSuite -&gt; f b
</span><a href="#local-6989586621679729112"><span class="hs-identifier hs-var">action</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">(TestSuite -&gt; f b) -&gt; [TestSuite] -&gt; f [b]
forall (t :: * -&gt; *) (f :: * -&gt; *) a b.
(Traversable t, Applicative f) =&gt;
(a -&gt; f b) -&gt; t a -&gt; f (t b)
</span><a href="../../base/src/Data.Traversable.html#traverse"><span class="hs-identifier hs-var">traverse</span></a></span><span> </span><span class="annot"><span class="annottext">TestSuite -&gt; f b
</span><a href="#local-6989586621679729112"><span class="hs-identifier hs-var">action</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">PackageDescription -&gt; [TestSuite]
</span><a href="Distribution.Types.PackageDescription.html#testSuites"><span class="hs-identifier hs-var hs-var">testSuites</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679729221"><span class="hs-identifier hs-var">pkg_descr</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-261"></span><span>    </span><span id="local-6989586621679729174"><span class="annot"><span class="annottext">withAllBenchmark :: (Benchmark -&gt; f b) -&gt; f [b]
</span><a href="#local-6989586621679729174"><span class="hs-identifier hs-var hs-var">withAllBenchmark</span></a></span></span><span> </span><span id="local-6989586621679729107"><span class="annot"><span class="annottext">Benchmark -&gt; f b
</span><a href="#local-6989586621679729107"><span class="hs-identifier hs-var">action</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">(Benchmark -&gt; f b) -&gt; [Benchmark] -&gt; f [b]
forall (t :: * -&gt; *) (f :: * -&gt; *) a b.
(Traversable t, Applicative f) =&gt;
(a -&gt; f b) -&gt; t a -&gt; f (t b)
</span><a href="../../base/src/Data.Traversable.html#traverse"><span class="hs-identifier hs-var">traverse</span></a></span><span> </span><span class="annot"><span class="annottext">Benchmark -&gt; f b
</span><a href="#local-6989586621679729107"><span class="hs-identifier hs-var">action</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">PackageDescription -&gt; [Benchmark]
</span><a href="Distribution.Types.PackageDescription.html#benchmarks"><span class="hs-identifier hs-var hs-var">benchmarks</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679729221"><span class="hs-identifier hs-var">pkg_descr</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-262"></span><span>
</span><span id="line-263"></span><span>
</span><span id="line-264"></span><span class="hs-comment">-- |Prepare a directory tree of source files.</span><span>
</span><span id="line-265"></span><span class="annot"><a href="Distribution.Simple.SrcDist.html#prepareTree"><span class="hs-identifier hs-type">prepareTree</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Verbosity.html#Verbosity"><span class="hs-identifier hs-type">Verbosity</span></a></span><span>          </span><span class="hs-comment">-- ^verbosity</span><span>
</span><span id="line-266"></span><span>            </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Types.PackageDescription.html#PackageDescription"><span class="hs-identifier hs-type">PackageDescription</span></a></span><span> </span><span class="hs-comment">-- ^info from the cabal file</span><span>
</span><span id="line-267"></span><span>            </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../base/src/GHC.IO.html#FilePath"><span class="hs-identifier hs-type">FilePath</span></a></span><span>           </span><span class="hs-comment">-- ^source tree to populate</span><span>
</span><span id="line-268"></span><span>            </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="Distribution.Simple.PreProcess.html#PPSuffixHandler"><span class="hs-identifier hs-type">PPSuffixHandler</span></a></span><span class="hs-special">]</span><span>  </span><span class="hs-comment">-- ^extra preprocessors (includes suffixes)</span><span>
</span><span id="line-269"></span><span>            </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="hs-identifier hs-type">IO</span></span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span><span>
</span><span id="line-270"></span><span id="prepareTree"><span class="annot"><span class="annottext">prepareTree :: Verbosity
-&gt; PackageDescription -&gt; String -&gt; [PPSuffixHandler] -&gt; IO ()
</span><a href="Distribution.Simple.SrcDist.html#prepareTree"><span class="hs-identifier hs-var hs-var">prepareTree</span></a></span></span><span> </span><span id="local-6989586621679729105"><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729105"><span class="hs-identifier hs-var">verbosity</span></a></span></span><span> </span><span id="local-6989586621679729104"><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679729104"><span class="hs-identifier hs-var">pkg_descr0</span></a></span></span><span> </span><span id="local-6989586621679729103"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729103"><span class="hs-identifier hs-var">targetDir</span></a></span></span><span> </span><span id="local-6989586621679729102"><span class="annot"><span class="annottext">[PPSuffixHandler]
</span><a href="#local-6989586621679729102"><span class="hs-identifier hs-var">pps</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
</span><span id="line-271"></span><span>    </span><span id="local-6989586621679729101"><span class="annot"><span class="annottext">[String]
</span><a href="#local-6989586621679729101"><span class="hs-identifier hs-var">ordinary</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">Verbosity
-&gt; String -&gt; PackageDescription -&gt; [PPSuffixHandler] -&gt; IO [String]
</span><a href="Distribution.Simple.SrcDist.html#listPackageSources"><span class="hs-identifier hs-var">listPackageSources</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729105"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;.&quot;</span></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679729100"><span class="hs-identifier hs-var">pkg_descr</span></a></span><span> </span><span class="annot"><span class="annottext">[PPSuffixHandler]
</span><a href="#local-6989586621679729102"><span class="hs-identifier hs-var">pps</span></a></span><span>
</span><span id="line-272"></span><span>    </span><span class="annot"><span class="annottext">Verbosity -&gt; String -&gt; [(String, String)] -&gt; IO ()
</span><a href="Distribution.Simple.Utils.html#installOrdinaryFiles"><span class="hs-identifier hs-var">installOrdinaryFiles</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729105"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729103"><span class="hs-identifier hs-var">targetDir</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">[String] -&gt; [String] -&gt; [(String, String)]
forall a b. [a] -&gt; [b] -&gt; [(a, b)]
</span><a href="../../base/src/GHC.List.html#zip"><span class="hs-identifier hs-var">zip</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; [String]
forall a. a -&gt; [a]
</span><a href="../../base/src/GHC.List.html#repeat"><span class="hs-identifier hs-var">repeat</span></a></span><span> </span><span class="hs-special">[</span><span class="hs-special">]</span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">[String]
</span><a href="#local-6989586621679729101"><span class="hs-identifier hs-var">ordinary</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-273"></span><span>    </span><span class="annot"><span class="annottext">String -&gt; IO ()
</span><a href="Distribution.Simple.SrcDist.html#maybeCreateDefaultSetupScript"><span class="hs-identifier hs-var">maybeCreateDefaultSetupScript</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729103"><span class="hs-identifier hs-var">targetDir</span></a></span><span>
</span><span id="line-274"></span><span>  </span><span class="hs-keyword">where</span><span>
</span><span id="line-275"></span><span>    </span><span id="local-6989586621679729100"><span class="annot"><span class="annottext">pkg_descr :: PackageDescription
</span><a href="#local-6989586621679729100"><span class="hs-identifier hs-var hs-var">pkg_descr</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">PackageDescription -&gt; PackageDescription
</span><a href="Distribution.Simple.SrcDist.html#filterAutogenModules"><span class="hs-identifier hs-var">filterAutogenModules</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679729104"><span class="hs-identifier hs-var">pkg_descr0</span></a></span><span>
</span><span id="line-276"></span><span>
</span><span id="line-277"></span><span class="hs-comment">-- | Find the setup script file, if it exists.</span><span>
</span><span id="line-278"></span><span class="annot"><a href="Distribution.Simple.SrcDist.html#findSetupFile"><span class="hs-identifier hs-type">findSetupFile</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../base/src/GHC.IO.html#FilePath"><span class="hs-identifier hs-type">FilePath</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="hs-identifier hs-type">IO</span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="../../base/src/GHC.Maybe.html#Maybe"><span class="hs-identifier hs-type">Maybe</span></a></span><span> </span><span class="annot"><a href="../../base/src/GHC.IO.html#FilePath"><span class="hs-identifier hs-type">FilePath</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-279"></span><span id="findSetupFile"><span class="annot"><span class="annottext">findSetupFile :: String -&gt; IO (Maybe String)
</span><a href="Distribution.Simple.SrcDist.html#findSetupFile"><span class="hs-identifier hs-var hs-var">findSetupFile</span></a></span></span><span> </span><span id="local-6989586621679729096"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729096"><span class="hs-identifier hs-var">targetDir</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
</span><span id="line-280"></span><span>  </span><span id="local-6989586621679729095"><span class="annot"><span class="annottext">Bool
</span><a href="#local-6989586621679729095"><span class="hs-identifier hs-var">hsExists</span></a></span></span><span>  </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">String -&gt; IO Bool
</span><a href="../../directory/src/System.Directory.html#doesFileExist"><span class="hs-identifier hs-var">doesFileExist</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729096"><span class="hs-identifier hs-var">targetDir</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
</span><a href="../../filepath/src/System.FilePath.Windows.html#%3C%2F%3E"><span class="hs-operator hs-var">&lt;/&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729094"><span class="hs-identifier hs-var">setupHs</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-281"></span><span>  </span><span id="local-6989586621679729093"><span class="annot"><span class="annottext">Bool
</span><a href="#local-6989586621679729093"><span class="hs-identifier hs-var">lhsExists</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">String -&gt; IO Bool
</span><a href="../../directory/src/System.Directory.html#doesFileExist"><span class="hs-identifier hs-var">doesFileExist</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729096"><span class="hs-identifier hs-var">targetDir</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
</span><a href="../../filepath/src/System.FilePath.Windows.html#%3C%2F%3E"><span class="hs-operator hs-var">&lt;/&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729092"><span class="hs-identifier hs-var">setupLhs</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-282"></span><span>  </span><span class="hs-keyword">if</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="#local-6989586621679729095"><span class="hs-identifier hs-var">hsExists</span></a></span><span>
</span><span id="line-283"></span><span>    </span><span class="hs-keyword">then</span><span> </span><span class="annot"><span class="annottext">Maybe String -&gt; IO (Maybe String)
forall (m :: * -&gt; *) a. Monad m =&gt; a -&gt; m a
</span><a href="../../base/src/GHC.Base.html#return"><span class="hs-identifier hs-var">return</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; Maybe String
forall a. a -&gt; Maybe a
</span><a href="../../base/src/GHC.Maybe.html#Just"><span class="hs-identifier hs-var">Just</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729094"><span class="hs-identifier hs-var">setupHs</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-284"></span><span>    </span><span class="hs-keyword">else</span><span> </span><span class="hs-keyword">if</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="#local-6989586621679729093"><span class="hs-identifier hs-var">lhsExists</span></a></span><span>
</span><span id="line-285"></span><span>         </span><span class="hs-keyword">then</span><span> </span><span class="annot"><span class="annottext">Maybe String -&gt; IO (Maybe String)
forall (m :: * -&gt; *) a. Monad m =&gt; a -&gt; m a
</span><a href="../../base/src/GHC.Base.html#return"><span class="hs-identifier hs-var">return</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; Maybe String
forall a. a -&gt; Maybe a
</span><a href="../../base/src/GHC.Maybe.html#Just"><span class="hs-identifier hs-var">Just</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729092"><span class="hs-identifier hs-var">setupLhs</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-286"></span><span>         </span><span class="hs-keyword">else</span><span> </span><span class="annot"><span class="annottext">Maybe String -&gt; IO (Maybe String)
forall (m :: * -&gt; *) a. Monad m =&gt; a -&gt; m a
</span><a href="../../base/src/GHC.Base.html#return"><span class="hs-identifier hs-var">return</span></a></span><span> </span><span class="annot"><span class="annottext">Maybe String
forall a. Maybe a
</span><a href="../../base/src/GHC.Maybe.html#Nothing"><span class="hs-identifier hs-var">Nothing</span></a></span><span>
</span><span id="line-287"></span><span>    </span><span class="hs-keyword">where</span><span>
</span><span id="line-288"></span><span>      </span><span id="local-6989586621679729094"><span class="annot"><span class="annottext">setupHs :: String
</span><a href="#local-6989586621679729094"><span class="hs-identifier hs-var hs-var">setupHs</span></a></span></span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;Setup.hs&quot;</span></span><span>
</span><span id="line-289"></span><span>      </span><span id="local-6989586621679729092"><span class="annot"><span class="annottext">setupLhs :: String
</span><a href="#local-6989586621679729092"><span class="hs-identifier hs-var hs-var">setupLhs</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;Setup.lhs&quot;</span></span><span>
</span><span id="line-290"></span><span>
</span><span id="line-291"></span><span class="hs-comment">-- | Create a default setup script in the target directory, if it doesn't exist.</span><span>
</span><span id="line-292"></span><span class="annot"><a href="Distribution.Simple.SrcDist.html#maybeCreateDefaultSetupScript"><span class="hs-identifier hs-type">maybeCreateDefaultSetupScript</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../base/src/GHC.IO.html#FilePath"><span class="hs-identifier hs-type">FilePath</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="hs-identifier hs-type">IO</span></span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span><span>
</span><span id="line-293"></span><span id="maybeCreateDefaultSetupScript"><span class="annot"><span class="annottext">maybeCreateDefaultSetupScript :: String -&gt; IO ()
</span><a href="Distribution.Simple.SrcDist.html#maybeCreateDefaultSetupScript"><span class="hs-identifier hs-var hs-var">maybeCreateDefaultSetupScript</span></a></span></span><span> </span><span id="local-6989586621679729091"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729091"><span class="hs-identifier hs-var">targetDir</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
</span><span id="line-294"></span><span>  </span><span id="local-6989586621679729090"><span class="annot"><span class="annottext">Maybe String
</span><a href="#local-6989586621679729090"><span class="hs-identifier hs-var">mSetupFile</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">String -&gt; IO (Maybe String)
</span><a href="Distribution.Simple.SrcDist.html#findSetupFile"><span class="hs-identifier hs-var">findSetupFile</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729091"><span class="hs-identifier hs-var">targetDir</span></a></span><span>
</span><span id="line-295"></span><span>  </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">Maybe String
</span><a href="#local-6989586621679729090"><span class="hs-identifier hs-var">mSetupFile</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-296"></span><span>    </span><span class="annot"><a href="../../base/src/GHC.Maybe.html#Just"><span class="hs-identifier hs-type">Just</span></a></span><span> </span><span id="local-6989586621679729089"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729089"><span class="hs-identifier hs-var">_setupFile</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">() -&gt; IO ()
forall (m :: * -&gt; *) a. Monad m =&gt; a -&gt; m a
</span><a href="../../base/src/GHC.Base.html#return"><span class="hs-identifier hs-var">return</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span><span>
</span><span id="line-297"></span><span>    </span><span class="annot"><span class="annottext">Maybe String
</span><a href="../../base/src/GHC.Maybe.html#Nothing"><span class="hs-identifier hs-var">Nothing</span></a></span><span>         </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-keyword">do</span><span>
</span><span id="line-298"></span><span>      </span><span class="annot"><span class="annottext">String -&gt; String -&gt; IO ()
</span><a href="Distribution.Utils.Generic.html#writeUTF8File"><span class="hs-identifier hs-var">writeUTF8File</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729091"><span class="hs-identifier hs-var">targetDir</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
</span><a href="../../filepath/src/System.FilePath.Windows.html#%3C%2F%3E"><span class="hs-operator hs-var">&lt;/&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;Setup.hs&quot;</span></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">(String -&gt; IO ()) -&gt; String -&gt; IO ()
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">[String] -&gt; String
</span><a href="../../base/src/Data.OldList.html#unlines"><span class="hs-identifier hs-var">unlines</span></a></span><span> </span><span class="hs-special">[</span><span>
</span><span id="line-299"></span><span>        </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;import Distribution.Simple&quot;</span></span><span class="hs-special">,</span><span>
</span><span id="line-300"></span><span>        </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;main = defaultMain&quot;</span></span><span class="hs-special">]</span><span>
</span><span id="line-301"></span><span>
</span><span id="line-302"></span><span class="hs-comment">-- | Find the main executable file.</span><span>
</span><span id="line-303"></span><span class="annot"><a href="Distribution.Simple.SrcDist.html#findMainExeFile"><span class="hs-identifier hs-type">findMainExeFile</span></a></span><span>
</span><span id="line-304"></span><span>  </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Verbosity.html#Verbosity"><span class="hs-identifier hs-type">Verbosity</span></a></span><span>
</span><span id="line-305"></span><span>  </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../base/src/GHC.IO.html#FilePath"><span class="hs-identifier hs-type">FilePath</span></a></span><span> </span><span class="hs-comment">-- ^ cwd</span><span>
</span><span id="line-306"></span><span>  </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Types.BuildInfo.html#BuildInfo"><span class="hs-identifier hs-type">BuildInfo</span></a></span><span>
</span><span id="line-307"></span><span>  </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="Distribution.Simple.PreProcess.html#PPSuffixHandler"><span class="hs-identifier hs-type">PPSuffixHandler</span></a></span><span class="hs-special">]</span><span>
</span><span id="line-308"></span><span>  </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../base/src/GHC.IO.html#FilePath"><span class="hs-identifier hs-type">FilePath</span></a></span><span> </span><span class="hs-comment">-- ^ main-is</span><span>
</span><span id="line-309"></span><span>  </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="hs-identifier hs-type">IO</span></span><span> </span><span class="annot"><a href="../../base/src/GHC.IO.html#FilePath"><span class="hs-identifier hs-type">FilePath</span></a></span><span>
</span><span id="line-310"></span><span id="findMainExeFile"><span class="annot"><span class="annottext">findMainExeFile :: Verbosity
-&gt; String -&gt; BuildInfo -&gt; [PPSuffixHandler] -&gt; String -&gt; IO String
</span><a href="Distribution.Simple.SrcDist.html#findMainExeFile"><span class="hs-identifier hs-var hs-var">findMainExeFile</span></a></span></span><span> </span><span id="local-6989586621679729086"><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729086"><span class="hs-identifier hs-var">verbosity</span></a></span></span><span> </span><span id="local-6989586621679729085"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729085"><span class="hs-identifier hs-var">cwd</span></a></span></span><span> </span><span id="local-6989586621679729084"><span class="annot"><span class="annottext">BuildInfo
</span><a href="#local-6989586621679729084"><span class="hs-identifier hs-var">exeBi</span></a></span></span><span> </span><span id="local-6989586621679729083"><span class="annot"><span class="annottext">[PPSuffixHandler]
</span><a href="#local-6989586621679729083"><span class="hs-identifier hs-var">pps</span></a></span></span><span> </span><span id="local-6989586621679729082"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729082"><span class="hs-identifier hs-var">mainPath</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
</span><span id="line-311"></span><span>  </span><span id="local-6989586621679729081"><span class="annot"><span class="annottext">Maybe String
</span><a href="#local-6989586621679729081"><span class="hs-identifier hs-var">ppFile</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">String -&gt; [String] -&gt; [String] -&gt; String -&gt; IO (Maybe String)
</span><a href="Distribution.Simple.Utils.html#findFileCwdWithExtension"><span class="hs-identifier hs-var">findFileCwdWithExtension</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729085"><span class="hs-identifier hs-var">cwd</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">[PPSuffixHandler] -&gt; [String]
</span><a href="Distribution.Simple.PreProcess.html#ppSuffixes"><span class="hs-identifier hs-var">ppSuffixes</span></a></span><span> </span><span class="annot"><span class="annottext">[PPSuffixHandler]
</span><a href="#local-6989586621679729083"><span class="hs-identifier hs-var">pps</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">BuildInfo -&gt; [String]
</span><a href="Distribution.Types.BuildInfo.html#hsSourceDirs"><span class="hs-identifier hs-var hs-var">hsSourceDirs</span></a></span><span> </span><span class="annot"><span class="annottext">BuildInfo
</span><a href="#local-6989586621679729084"><span class="hs-identifier hs-var">exeBi</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-312"></span><span>            </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; String
</span><a href="../../filepath/src/System.FilePath.Windows.html#dropExtension"><span class="hs-identifier hs-var">dropExtension</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729082"><span class="hs-identifier hs-var">mainPath</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-313"></span><span>  </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">Maybe String
</span><a href="#local-6989586621679729081"><span class="hs-identifier hs-var">ppFile</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-314"></span><span>    </span><span class="annot"><span class="annottext">Maybe String
</span><a href="../../base/src/GHC.Maybe.html#Nothing"><span class="hs-identifier hs-var">Nothing</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Verbosity -&gt; String -&gt; [String] -&gt; String -&gt; IO String
</span><a href="Distribution.Simple.Utils.html#findFileCwd"><span class="hs-identifier hs-var">findFileCwd</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729086"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729085"><span class="hs-identifier hs-var">cwd</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">BuildInfo -&gt; [String]
</span><a href="Distribution.Types.BuildInfo.html#hsSourceDirs"><span class="hs-identifier hs-var hs-var">hsSourceDirs</span></a></span><span> </span><span class="annot"><span class="annottext">BuildInfo
</span><a href="#local-6989586621679729084"><span class="hs-identifier hs-var">exeBi</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729082"><span class="hs-identifier hs-var">mainPath</span></a></span><span>
</span><span id="line-315"></span><span>    </span><span class="annot"><a href="../../base/src/GHC.Maybe.html#Just"><span class="hs-identifier hs-type">Just</span></a></span><span> </span><span id="local-6989586621679729076"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729076"><span class="hs-identifier hs-var">pp</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String -&gt; IO String
forall (m :: * -&gt; *) a. Monad m =&gt; a -&gt; m a
</span><a href="../../base/src/GHC.Base.html#return"><span class="hs-identifier hs-var">return</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729076"><span class="hs-identifier hs-var">pp</span></a></span><span>
</span><span id="line-316"></span><span>
</span><span id="line-317"></span><span class="hs-comment">-- | Find a module definition file</span><span>
</span><span id="line-318"></span><span class="hs-comment">--</span><span>
</span><span id="line-319"></span><span class="hs-comment">-- TODO: I don't know if this is right</span><span>
</span><span id="line-320"></span><span class="annot"><a href="Distribution.Simple.SrcDist.html#findModDefFile"><span class="hs-identifier hs-type">findModDefFile</span></a></span><span>
</span><span id="line-321"></span><span>  </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Verbosity.html#Verbosity"><span class="hs-identifier hs-type">Verbosity</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../base/src/GHC.IO.html#FilePath"><span class="hs-identifier hs-type">FilePath</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Types.BuildInfo.html#BuildInfo"><span class="hs-identifier hs-type">BuildInfo</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="Distribution.Simple.PreProcess.html#PPSuffixHandler"><span class="hs-identifier hs-type">PPSuffixHandler</span></a></span><span class="hs-special">]</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../base/src/GHC.IO.html#FilePath"><span class="hs-identifier hs-type">FilePath</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="hs-identifier hs-type">IO</span></span><span> </span><span class="annot"><a href="../../base/src/GHC.IO.html#FilePath"><span class="hs-identifier hs-type">FilePath</span></a></span><span>
</span><span id="line-322"></span><span id="findModDefFile"><span class="annot"><span class="annottext">findModDefFile :: Verbosity
-&gt; String -&gt; BuildInfo -&gt; [PPSuffixHandler] -&gt; String -&gt; IO String
</span><a href="Distribution.Simple.SrcDist.html#findModDefFile"><span class="hs-identifier hs-var hs-var">findModDefFile</span></a></span></span><span> </span><span id="local-6989586621679729075"><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729075"><span class="hs-identifier hs-var">verbosity</span></a></span></span><span> </span><span id="local-6989586621679729074"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729074"><span class="hs-identifier hs-var">cwd</span></a></span></span><span> </span><span id="local-6989586621679729073"><span class="annot"><span class="annottext">BuildInfo
</span><a href="#local-6989586621679729073"><span class="hs-identifier hs-var">flibBi</span></a></span></span><span> </span><span id="local-6989586621679729072"><span class="annot"><span class="annottext">[PPSuffixHandler]
</span><a href="#local-6989586621679729072"><span class="hs-identifier hs-var">_pps</span></a></span></span><span> </span><span id="local-6989586621679729071"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729071"><span class="hs-identifier hs-var">modDefPath</span></a></span></span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-323"></span><span>    </span><span class="annot"><span class="annottext">Verbosity -&gt; String -&gt; [String] -&gt; String -&gt; IO String
</span><a href="Distribution.Simple.Utils.html#findFileCwd"><span class="hs-identifier hs-var">findFileCwd</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729075"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729074"><span class="hs-identifier hs-var">cwd</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;.&quot;</span></span><span class="annot"><span class="annottext">String -&gt; [String] -&gt; [String]
forall a. a -&gt; [a] -&gt; [a]
</span><span class="hs-glyph hs-var">:</span></span><span class="annot"><span class="annottext">BuildInfo -&gt; [String]
</span><a href="Distribution.Types.BuildInfo.html#hsSourceDirs"><span class="hs-identifier hs-var hs-var">hsSourceDirs</span></a></span><span> </span><span class="annot"><span class="annottext">BuildInfo
</span><a href="#local-6989586621679729073"><span class="hs-identifier hs-var">flibBi</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729071"><span class="hs-identifier hs-var">modDefPath</span></a></span><span>
</span><span id="line-324"></span><span>
</span><span id="line-325"></span><span class="hs-comment">-- | Given a list of include paths, try to find the include file named</span><span>
</span><span id="line-326"></span><span class="hs-comment">-- @f@. Return the name of the file and the full path, or exit with error if</span><span>
</span><span id="line-327"></span><span class="hs-comment">-- there's no such file.</span><span>
</span><span id="line-328"></span><span class="annot"><a href="Distribution.Simple.SrcDist.html#findIncludeFile"><span class="hs-identifier hs-type">findIncludeFile</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Verbosity.html#Verbosity"><span class="hs-identifier hs-type">Verbosity</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../base/src/GHC.IO.html#FilePath"><span class="hs-identifier hs-type">FilePath</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="../../base/src/GHC.IO.html#FilePath"><span class="hs-identifier hs-type">FilePath</span></a></span><span class="hs-special">]</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="hs-identifier hs-type">IO</span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="../../base/src/GHC.IO.html#FilePath"><span class="hs-identifier hs-type">FilePath</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-329"></span><span id="findIncludeFile"><span class="annot"><span class="annottext">findIncludeFile :: Verbosity -&gt; String -&gt; [String] -&gt; String -&gt; IO (String, String)
</span><a href="Distribution.Simple.SrcDist.html#findIncludeFile"><span class="hs-identifier hs-var hs-var">findIncludeFile</span></a></span></span><span> </span><span id="local-6989586621679729070"><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729070"><span class="hs-identifier hs-var">verbosity</span></a></span></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-special">[</span><span class="hs-special">]</span><span> </span><span id="local-6989586621679729069"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729069"><span class="hs-identifier hs-var">f</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Verbosity -&gt; String -&gt; IO (String, String)
forall a. Verbosity -&gt; String -&gt; IO a
</span><a href="Distribution.Simple.Utils.html#die%27"><span class="hs-identifier hs-var">die'</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729070"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;can't find include file &quot;</span></span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729069"><span class="hs-identifier hs-var">f</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-330"></span><span class="annot"><a href="Distribution.Simple.SrcDist.html#findIncludeFile"><span class="hs-identifier hs-var">findIncludeFile</span></a></span><span> </span><span id="local-6989586621679729068"><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729068"><span class="hs-identifier hs-var">verbosity</span></a></span></span><span> </span><span id="local-6989586621679729067"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729067"><span class="hs-identifier hs-var">cwd</span></a></span></span><span> </span><span class="hs-special">(</span><span id="local-6989586621679729066"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729066"><span class="hs-identifier hs-var">d</span></a></span></span><span class="annot"><span class="hs-glyph hs-type">:</span></span><span id="local-6989586621679729065"><span class="annot"><span class="annottext">[String]
</span><a href="#local-6989586621679729065"><span class="hs-identifier hs-var">ds</span></a></span></span><span class="hs-special">)</span><span> </span><span id="local-6989586621679729064"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729064"><span class="hs-identifier hs-var">f</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
</span><span id="line-331"></span><span>  </span><span class="hs-keyword">let</span><span> </span><span id="local-6989586621679729063"><span class="annot"><span class="annottext">path :: String
</span><a href="#local-6989586621679729063"><span class="hs-identifier hs-var hs-var">path</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729066"><span class="hs-identifier hs-var">d</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
</span><a href="../../filepath/src/System.FilePath.Windows.html#%3C%2F%3E"><span class="hs-operator hs-var">&lt;/&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729064"><span class="hs-identifier hs-var">f</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-332"></span><span>  </span><span id="local-6989586621679729062"><span class="annot"><span class="annottext">Bool
</span><a href="#local-6989586621679729062"><span class="hs-identifier hs-var">b</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">String -&gt; IO Bool
</span><a href="../../directory/src/System.Directory.html#doesFileExist"><span class="hs-identifier hs-var">doesFileExist</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729067"><span class="hs-identifier hs-var">cwd</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
</span><a href="../../filepath/src/System.FilePath.Windows.html#%3C%2F%3E"><span class="hs-operator hs-var">&lt;/&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729063"><span class="hs-identifier hs-var">path</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-333"></span><span>  </span><span class="hs-keyword">if</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="#local-6989586621679729062"><span class="hs-identifier hs-var">b</span></a></span><span> </span><span class="hs-keyword">then</span><span> </span><span class="annot"><span class="annottext">(String, String) -&gt; IO (String, String)
forall (m :: * -&gt; *) a. Monad m =&gt; a -&gt; m a
</span><a href="../../base/src/GHC.Base.html#return"><span class="hs-identifier hs-var">return</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729064"><span class="hs-identifier hs-var">f</span></a></span><span class="hs-special">,</span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729063"><span class="hs-identifier hs-var">path</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-keyword">else</span><span> </span><span class="annot"><span class="annottext">Verbosity -&gt; String -&gt; [String] -&gt; String -&gt; IO (String, String)
</span><a href="Distribution.Simple.SrcDist.html#findIncludeFile"><span class="hs-identifier hs-var">findIncludeFile</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729068"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729067"><span class="hs-identifier hs-var">cwd</span></a></span><span> </span><span class="annot"><span class="annottext">[String]
</span><a href="#local-6989586621679729065"><span class="hs-identifier hs-var">ds</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729064"><span class="hs-identifier hs-var">f</span></a></span><span>
</span><span id="line-334"></span><span>
</span><span id="line-335"></span><span class="hs-comment">-- | Remove the auto-generated modules (like 'Paths_*') from 'exposed-modules' </span><span>
</span><span id="line-336"></span><span class="hs-comment">-- and 'other-modules'.</span><span>
</span><span id="line-337"></span><span class="annot"><a href="Distribution.Simple.SrcDist.html#filterAutogenModules"><span class="hs-identifier hs-type">filterAutogenModules</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Types.PackageDescription.html#PackageDescription"><span class="hs-identifier hs-type">PackageDescription</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Types.PackageDescription.html#PackageDescription"><span class="hs-identifier hs-type">PackageDescription</span></a></span><span>
</span><span id="line-338"></span><span id="filterAutogenModules"><span class="annot"><span class="annottext">filterAutogenModules :: PackageDescription -&gt; PackageDescription
</span><a href="Distribution.Simple.SrcDist.html#filterAutogenModules"><span class="hs-identifier hs-var hs-var">filterAutogenModules</span></a></span></span><span> </span><span id="local-6989586621679729061"><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679729061"><span class="hs-identifier hs-var">pkg_descr0</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">(Library -&gt; Library) -&gt; PackageDescription -&gt; PackageDescription
</span><a href="#local-6989586621679729060"><span class="hs-identifier hs-var">mapLib</span></a></span><span> </span><span class="annot"><span class="annottext">Library -&gt; Library
</span><a href="#local-6989586621679729059"><span class="hs-identifier hs-var">filterAutogenModuleLib</span></a></span><span> </span><span class="annot"><span class="annottext">(PackageDescription -&gt; PackageDescription)
-&gt; PackageDescription -&gt; PackageDescription
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span>
</span><span id="line-339"></span><span>                                 </span><span class="annot"><span class="annottext">(BuildInfo -&gt; BuildInfo)
-&gt; PackageDescription -&gt; PackageDescription
</span><a href="Distribution.Simple.SrcDist.html#mapAllBuildInfo"><span class="hs-identifier hs-var">mapAllBuildInfo</span></a></span><span> </span><span class="annot"><span class="annottext">BuildInfo -&gt; BuildInfo
</span><a href="#local-6989586621679729057"><span class="hs-identifier hs-var">filterAutogenModuleBI</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679729061"><span class="hs-identifier hs-var">pkg_descr0</span></a></span><span>
</span><span id="line-340"></span><span>  </span><span class="hs-keyword">where</span><span>
</span><span id="line-341"></span><span>    </span><span id="local-6989586621679729060"><span class="annot"><span class="annottext">mapLib :: (Library -&gt; Library) -&gt; PackageDescription -&gt; PackageDescription
</span><a href="#local-6989586621679729060"><span class="hs-identifier hs-var hs-var">mapLib</span></a></span></span><span> </span><span id="local-6989586621679729055"><span class="annot"><span class="annottext">Library -&gt; Library
</span><a href="#local-6989586621679729055"><span class="hs-identifier hs-var">f</span></a></span></span><span> </span><span id="local-6989586621679729054"><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679729054"><span class="hs-identifier hs-var">pkg</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679729054"><span class="hs-identifier hs-var">pkg</span></a></span><span> </span><span class="hs-special">{</span><span> </span><span class="annot"><span class="annottext">library :: Maybe Library
</span><a href="Distribution.Types.PackageDescription.html#library"><span class="hs-identifier hs-var">library</span></a></span><span>      </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">(Library -&gt; Library) -&gt; Maybe Library -&gt; Maybe Library
forall (f :: * -&gt; *) a b. Functor f =&gt; (a -&gt; b) -&gt; f a -&gt; f b
</span><a href="../../base/src/GHC.Base.html#fmap"><span class="hs-identifier hs-var">fmap</span></a></span><span> </span><span class="annot"><span class="annottext">Library -&gt; Library
</span><a href="#local-6989586621679729055"><span class="hs-identifier hs-var">f</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">PackageDescription -&gt; Maybe Library
</span><a href="Distribution.Types.PackageDescription.html#library"><span class="hs-identifier hs-var hs-var">library</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679729054"><span class="hs-identifier hs-var">pkg</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-342"></span><span>                       </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">subLibraries :: [Library]
</span><a href="Distribution.Types.PackageDescription.html#subLibraries"><span class="hs-identifier hs-var">subLibraries</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">(Library -&gt; Library) -&gt; [Library] -&gt; [Library]
forall a b. (a -&gt; b) -&gt; [a] -&gt; [b]
</span><a href="../../base/src/GHC.Base.html#map"><span class="hs-identifier hs-var">map</span></a></span><span> </span><span class="annot"><span class="annottext">Library -&gt; Library
</span><a href="#local-6989586621679729055"><span class="hs-identifier hs-var">f</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">PackageDescription -&gt; [Library]
</span><a href="Distribution.Types.PackageDescription.html#subLibraries"><span class="hs-identifier hs-var hs-var">subLibraries</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679729054"><span class="hs-identifier hs-var">pkg</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-special">}</span><span>
</span><span id="line-343"></span><span>    </span><span id="local-6989586621679729059"><span class="annot"><span class="annottext">filterAutogenModuleLib :: Library -&gt; Library
</span><a href="#local-6989586621679729059"><span class="hs-identifier hs-var hs-var">filterAutogenModuleLib</span></a></span></span><span> </span><span id="local-6989586621679729051"><span class="annot"><span class="annottext">Library
</span><a href="#local-6989586621679729051"><span class="hs-identifier hs-var">lib</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Library
</span><a href="#local-6989586621679729051"><span class="hs-identifier hs-var">lib</span></a></span><span> </span><span class="hs-special">{</span><span>
</span><span id="line-344"></span><span>      </span><span class="annot"><span class="annottext">exposedModules :: [ModuleName]
</span><a href="Distribution.Types.Library.html#exposedModules"><span class="hs-identifier hs-var">exposedModules</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">(ModuleName -&gt; Bool) -&gt; [ModuleName] -&gt; [ModuleName]
forall a. (a -&gt; Bool) -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.List.html#filter"><span class="hs-identifier hs-var">filter</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">BuildInfo -&gt; ModuleName -&gt; Bool
</span><a href="#local-6989586621679729050"><span class="hs-identifier hs-var">filterFunction</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Library -&gt; BuildInfo
</span><a href="Distribution.Types.Library.html#libBuildInfo"><span class="hs-identifier hs-var hs-var">libBuildInfo</span></a></span><span> </span><span class="annot"><span class="annottext">Library
</span><a href="#local-6989586621679729051"><span class="hs-identifier hs-var">lib</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Library -&gt; [ModuleName]
</span><a href="Distribution.Types.Library.html#exposedModules"><span class="hs-identifier hs-var hs-var">exposedModules</span></a></span><span> </span><span class="annot"><span class="annottext">Library
</span><a href="#local-6989586621679729051"><span class="hs-identifier hs-var">lib</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-345"></span><span>    </span><span class="hs-special">}</span><span>
</span><span id="line-346"></span><span>    </span><span id="local-6989586621679729057"><span class="annot"><span class="annottext">filterAutogenModuleBI :: BuildInfo -&gt; BuildInfo
</span><a href="#local-6989586621679729057"><span class="hs-identifier hs-var hs-var">filterAutogenModuleBI</span></a></span></span><span> </span><span id="local-6989586621679729049"><span class="annot"><span class="annottext">BuildInfo
</span><a href="#local-6989586621679729049"><span class="hs-identifier hs-var">bi</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">BuildInfo
</span><a href="#local-6989586621679729049"><span class="hs-identifier hs-var">bi</span></a></span><span> </span><span class="hs-special">{</span><span>
</span><span id="line-347"></span><span>      </span><span class="annot"><span class="annottext">otherModules :: [ModuleName]
</span><a href="Distribution.Types.BuildInfo.html#otherModules"><span class="hs-identifier hs-var">otherModules</span></a></span><span>   </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">(ModuleName -&gt; Bool) -&gt; [ModuleName] -&gt; [ModuleName]
forall a. (a -&gt; Bool) -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.List.html#filter"><span class="hs-identifier hs-var">filter</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">BuildInfo -&gt; ModuleName -&gt; Bool
</span><a href="#local-6989586621679729050"><span class="hs-identifier hs-var">filterFunction</span></a></span><span> </span><span class="annot"><span class="annottext">BuildInfo
</span><a href="#local-6989586621679729049"><span class="hs-identifier hs-var">bi</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">BuildInfo -&gt; [ModuleName]
</span><a href="Distribution.Types.BuildInfo.html#otherModules"><span class="hs-identifier hs-var hs-var">otherModules</span></a></span><span> </span><span class="annot"><span class="annottext">BuildInfo
</span><a href="#local-6989586621679729049"><span class="hs-identifier hs-var">bi</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-348"></span><span>    </span><span class="hs-special">}</span><span>
</span><span id="line-349"></span><span>    </span><span id="local-6989586621679729047"><span class="annot"><span class="annottext">pathsModule :: ModuleName
</span><a href="#local-6989586621679729047"><span class="hs-identifier hs-var hs-var">pathsModule</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">PackageDescription -&gt; ModuleName
</span><a href="Distribution.Simple.BuildPaths.html#autogenPathsModuleName"><span class="hs-identifier hs-var">autogenPathsModuleName</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679729061"><span class="hs-identifier hs-var">pkg_descr0</span></a></span><span>
</span><span id="line-350"></span><span>    </span><span id="local-6989586621679729050"><span class="annot"><span class="annottext">filterFunction :: BuildInfo -&gt; ModuleName -&gt; Bool
</span><a href="#local-6989586621679729050"><span class="hs-identifier hs-var hs-var">filterFunction</span></a></span></span><span> </span><span id="local-6989586621679729041"><span class="annot"><span class="annottext">BuildInfo
</span><a href="#local-6989586621679729041"><span class="hs-identifier hs-var">bi</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-glyph">\</span><span id="local-6989586621679729040"><span class="annot"><span class="annottext">ModuleName
</span><a href="#local-6989586621679729040"><span class="hs-identifier hs-var">mn</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span>
</span><span id="line-351"></span><span>                                   </span><span class="annot"><span class="annottext">ModuleName
</span><a href="#local-6989586621679729040"><span class="hs-identifier hs-var">mn</span></a></span><span> </span><span class="annot"><span class="annottext">ModuleName -&gt; ModuleName -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><span class="hs-operator hs-var">/=</span></span><span> </span><span class="annot"><span class="annottext">ModuleName
</span><a href="#local-6989586621679729047"><span class="hs-identifier hs-var">pathsModule</span></a></span><span>
</span><span id="line-352"></span><span>                                </span><span class="annot"><span class="annottext">Bool -&gt; Bool -&gt; Bool
</span><span class="hs-operator hs-var">&amp;&amp;</span></span><span> </span><span class="annot"><span class="annottext">Bool -&gt; Bool
</span><span class="hs-identifier hs-var">not</span></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ModuleName
</span><a href="#local-6989586621679729040"><span class="hs-identifier hs-var">mn</span></a></span><span> </span><span class="annot"><span class="annottext">ModuleName -&gt; [ModuleName] -&gt; Bool
forall (t :: * -&gt; *) a. (Foldable t, Eq a) =&gt; a -&gt; t a -&gt; Bool
</span><a href="../../base/src/Data.Foldable.html#elem"><span class="hs-operator hs-var">`elem`</span></a></span><span> </span><span class="annot"><span class="annottext">BuildInfo -&gt; [ModuleName]
</span><a href="Distribution.Types.BuildInfo.html#autogenModules"><span class="hs-identifier hs-var hs-var">autogenModules</span></a></span><span> </span><span class="annot"><span class="annottext">BuildInfo
</span><a href="#local-6989586621679729041"><span class="hs-identifier hs-var">bi</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-353"></span><span>
</span><span id="line-354"></span><span class="hs-comment">-- | Prepare a directory tree of source files for a snapshot version.</span><span>
</span><span id="line-355"></span><span class="hs-comment">-- It is expected that the appropriate snapshot version has already been set</span><span>
</span><span id="line-356"></span><span class="hs-comment">-- in the package description, eg using 'snapshotPackage' or 'snapshotVersion'.</span><span>
</span><span id="line-357"></span><span class="hs-comment">--</span><span>
</span><span id="line-358"></span><span class="annot"><a href="Distribution.Simple.SrcDist.html#prepareSnapshotTree"><span class="hs-identifier hs-type">prepareSnapshotTree</span></a></span><span>
</span><span id="line-359"></span><span>  </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Verbosity.html#Verbosity"><span class="hs-identifier hs-type">Verbosity</span></a></span><span>          </span><span class="hs-comment">-- ^verbosity</span><span>
</span><span id="line-360"></span><span>  </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Types.PackageDescription.html#PackageDescription"><span class="hs-identifier hs-type">PackageDescription</span></a></span><span> </span><span class="hs-comment">-- ^info from the cabal file</span><span>
</span><span id="line-361"></span><span>  </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../base/src/GHC.IO.html#FilePath"><span class="hs-identifier hs-type">FilePath</span></a></span><span>           </span><span class="hs-comment">-- ^source tree to populate</span><span>
</span><span id="line-362"></span><span>  </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="Distribution.Simple.PreProcess.html#PPSuffixHandler"><span class="hs-identifier hs-type">PPSuffixHandler</span></a></span><span class="hs-special">]</span><span>  </span><span class="hs-comment">-- ^extra preprocessors (includes suffixes)</span><span>
</span><span id="line-363"></span><span>  </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="hs-identifier hs-type">IO</span></span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span><span>
</span><span id="line-364"></span><span id="prepareSnapshotTree"><span class="annot"><span class="annottext">prepareSnapshotTree :: Verbosity
-&gt; PackageDescription -&gt; String -&gt; [PPSuffixHandler] -&gt; IO ()
</span><a href="Distribution.Simple.SrcDist.html#prepareSnapshotTree"><span class="hs-identifier hs-var hs-var">prepareSnapshotTree</span></a></span></span><span> </span><span id="local-6989586621679729034"><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729034"><span class="hs-identifier hs-var">verbosity</span></a></span></span><span> </span><span id="local-6989586621679729033"><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679729033"><span class="hs-identifier hs-var">pkg</span></a></span></span><span> </span><span id="local-6989586621679729032"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729032"><span class="hs-identifier hs-var">targetDir</span></a></span></span><span> </span><span id="local-6989586621679729031"><span class="annot"><span class="annottext">[PPSuffixHandler]
</span><a href="#local-6989586621679729031"><span class="hs-identifier hs-var">pps</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
</span><span id="line-365"></span><span>  </span><span class="annot"><span class="annottext">Verbosity
-&gt; PackageDescription -&gt; String -&gt; [PPSuffixHandler] -&gt; IO ()
</span><a href="Distribution.Simple.SrcDist.html#prepareTree"><span class="hs-identifier hs-var">prepareTree</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729034"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679729033"><span class="hs-identifier hs-var">pkg</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729032"><span class="hs-identifier hs-var">targetDir</span></a></span><span> </span><span class="annot"><span class="annottext">[PPSuffixHandler]
</span><a href="#local-6989586621679729031"><span class="hs-identifier hs-var">pps</span></a></span><span>
</span><span id="line-366"></span><span>  </span><span class="annot"><span class="annottext">Verbosity -&gt; PackageDescription -&gt; String -&gt; IO ()
</span><a href="Distribution.Simple.SrcDist.html#overwriteSnapshotPackageDesc"><span class="hs-identifier hs-var">overwriteSnapshotPackageDesc</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729034"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679729033"><span class="hs-identifier hs-var">pkg</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729032"><span class="hs-identifier hs-var">targetDir</span></a></span><span>
</span><span id="line-367"></span><span>
</span><span id="line-368"></span><span class="annot"><a href="Distribution.Simple.SrcDist.html#overwriteSnapshotPackageDesc"><span class="hs-identifier hs-type">overwriteSnapshotPackageDesc</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Verbosity.html#Verbosity"><span class="hs-identifier hs-type">Verbosity</span></a></span><span>          </span><span class="hs-comment">-- ^verbosity</span><span>
</span><span id="line-369"></span><span>                             </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Types.PackageDescription.html#PackageDescription"><span class="hs-identifier hs-type">PackageDescription</span></a></span><span> </span><span class="hs-comment">-- ^info from the cabal file</span><span>
</span><span id="line-370"></span><span>                             </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../base/src/GHC.IO.html#FilePath"><span class="hs-identifier hs-type">FilePath</span></a></span><span>           </span><span class="hs-comment">-- ^source tree</span><span>
</span><span id="line-371"></span><span>                             </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="hs-identifier hs-type">IO</span></span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span><span>
</span><span id="line-372"></span><span id="overwriteSnapshotPackageDesc"><span class="annot"><span class="annottext">overwriteSnapshotPackageDesc :: Verbosity -&gt; PackageDescription -&gt; String -&gt; IO ()
</span><a href="Distribution.Simple.SrcDist.html#overwriteSnapshotPackageDesc"><span class="hs-identifier hs-var hs-var">overwriteSnapshotPackageDesc</span></a></span></span><span> </span><span id="local-6989586621679729030"><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729030"><span class="hs-identifier hs-var">verbosity</span></a></span></span><span> </span><span id="local-6989586621679729029"><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679729029"><span class="hs-identifier hs-var">pkg</span></a></span></span><span> </span><span id="local-6989586621679729028"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729028"><span class="hs-identifier hs-var">targetDir</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
</span><span id="line-373"></span><span>    </span><span class="hs-comment">-- We could just writePackageDescription targetDescFile pkg_descr,</span><span>
</span><span id="line-374"></span><span>    </span><span class="hs-comment">-- but that would lose comments and formatting.</span><span>
</span><span id="line-375"></span><span>    </span><span id="local-6989586621679729027"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729027"><span class="hs-identifier hs-var">descFile</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">Verbosity -&gt; IO String
</span><a href="Distribution.Simple.Utils.html#defaultPackageDesc"><span class="hs-identifier hs-var">defaultPackageDesc</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729030"><span class="hs-identifier hs-var">verbosity</span></a></span><span>
</span><span id="line-376"></span><span>    </span><span class="annot"><span class="annottext">String -&gt; (String -&gt; IO ()) -&gt; IO ()
forall a. String -&gt; (String -&gt; IO a) -&gt; IO a
</span><a href="Distribution.Utils.Generic.html#withUTF8FileContents"><span class="hs-identifier hs-var">withUTF8FileContents</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729027"><span class="hs-identifier hs-var">descFile</span></a></span><span> </span><span class="annot"><span class="annottext">((String -&gt; IO ()) -&gt; IO ()) -&gt; (String -&gt; IO ()) -&gt; IO ()
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span>
</span><span id="line-377"></span><span>      </span><span class="annot"><span class="annottext">String -&gt; String -&gt; IO ()
</span><a href="Distribution.Utils.Generic.html#writeUTF8File"><span class="hs-identifier hs-var">writeUTF8File</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729028"><span class="hs-identifier hs-var">targetDir</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
</span><a href="../../filepath/src/System.FilePath.Windows.html#%3C%2F%3E"><span class="hs-operator hs-var">&lt;/&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729027"><span class="hs-identifier hs-var">descFile</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-378"></span><span>        </span><span class="annot"><span class="annottext">(String -&gt; IO ()) -&gt; (String -&gt; String) -&gt; String -&gt; IO ()
forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#."><span class="hs-operator hs-var">.</span></a></span><span> </span><span class="annot"><span class="annottext">[String] -&gt; String
</span><a href="../../base/src/Data.OldList.html#unlines"><span class="hs-identifier hs-var">unlines</span></a></span><span> </span><span class="annot"><span class="annottext">([String] -&gt; String) -&gt; (String -&gt; [String]) -&gt; String -&gt; String
forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#."><span class="hs-operator hs-var">.</span></a></span><span> </span><span class="annot"><span class="annottext">(String -&gt; String) -&gt; [String] -&gt; [String]
forall a b. (a -&gt; b) -&gt; [a] -&gt; [b]
</span><a href="../../base/src/GHC.Base.html#map"><span class="hs-identifier hs-var">map</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Version -&gt; String -&gt; String
</span><a href="#local-6989586621679729024"><span class="hs-identifier hs-var">replaceVersion</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">PackageDescription -&gt; Version
forall pkg. Package pkg =&gt; pkg -&gt; Version
</span><a href="Distribution.Package.html#packageVersion"><span class="hs-identifier hs-var">packageVersion</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679729029"><span class="hs-identifier hs-var">pkg</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">([String] -&gt; [String])
-&gt; (String -&gt; [String]) -&gt; String -&gt; [String]
forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#."><span class="hs-operator hs-var">.</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; [String]
</span><a href="../../base/src/Data.OldList.html#lines"><span class="hs-identifier hs-var">lines</span></a></span><span>
</span><span id="line-379"></span><span>
</span><span id="line-380"></span><span>  </span><span class="hs-keyword">where</span><span>
</span><span id="line-381"></span><span>    </span><span class="annot"><a href="#local-6989586621679729024"><span class="hs-identifier hs-type">replaceVersion</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Types.Version.html#Version"><span class="hs-identifier hs-type">Version</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span>
</span><span id="line-382"></span><span>    </span><span id="local-6989586621679729024"><span class="annot"><span class="annottext">replaceVersion :: Version -&gt; String -&gt; String
</span><a href="#local-6989586621679729024"><span class="hs-identifier hs-var hs-var">replaceVersion</span></a></span></span><span> </span><span id="local-6989586621679729021"><span class="annot"><span class="annottext">Version
</span><a href="#local-6989586621679729021"><span class="hs-identifier hs-var">version</span></a></span></span><span> </span><span id="local-6989586621679729020"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729020"><span class="hs-identifier hs-var">line</span></a></span></span><span>
</span><span id="line-383"></span><span>      </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;version:&quot;</span></span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; Bool
forall a. Eq a =&gt; [a] -&gt; [a] -&gt; Bool
</span><a href="../../base/src/Data.OldList.html#isPrefixOf"><span class="hs-operator hs-var">`isPrefixOf`</span></a></span><span> </span><span class="annot"><span class="annottext">(Char -&gt; Char) -&gt; String -&gt; String
forall a b. (a -&gt; b) -&gt; [a] -&gt; [b]
</span><a href="../../base/src/GHC.Base.html#map"><span class="hs-identifier hs-var">map</span></a></span><span> </span><span class="annot"><span class="annottext">Char -&gt; Char
</span><a href="../../base/src/GHC.Unicode.html#toLower"><span class="hs-identifier hs-var">toLower</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729020"><span class="hs-identifier hs-var">line</span></a></span><span>
</span><span id="line-384"></span><span>                  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;version: &quot;</span></span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">Version -&gt; String
forall a. Pretty a =&gt; a -&gt; String
</span><a href="Distribution.Pretty.html#prettyShow"><span class="hs-identifier hs-var">prettyShow</span></a></span><span> </span><span class="annot"><span class="annottext">Version
</span><a href="#local-6989586621679729021"><span class="hs-identifier hs-var">version</span></a></span><span>
</span><span id="line-385"></span><span>      </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../base/src/GHC.Base.html#otherwise"><span class="hs-identifier hs-var">otherwise</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729020"><span class="hs-identifier hs-var">line</span></a></span><span>
</span><span id="line-386"></span><span>
</span><span id="line-387"></span><span class="hs-comment">-- | Modifies a 'PackageDescription' by appending a snapshot number</span><span>
</span><span id="line-388"></span><span class="hs-comment">-- corresponding to the given date.</span><span>
</span><span id="line-389"></span><span class="hs-comment">--</span><span>
</span><span id="line-390"></span><span class="annot"><a href="Distribution.Simple.SrcDist.html#snapshotPackage"><span class="hs-identifier hs-type">snapshotPackage</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../time/src/Data.Time.Clock.Internal.UTCTime.html#UTCTime"><span class="hs-identifier hs-type">UTCTime</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Types.PackageDescription.html#PackageDescription"><span class="hs-identifier hs-type">PackageDescription</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Types.PackageDescription.html#PackageDescription"><span class="hs-identifier hs-type">PackageDescription</span></a></span><span>
</span><span id="line-391"></span><span id="snapshotPackage"><span class="annot"><span class="annottext">snapshotPackage :: UTCTime -&gt; PackageDescription -&gt; PackageDescription
</span><a href="Distribution.Simple.SrcDist.html#snapshotPackage"><span class="hs-identifier hs-var hs-var">snapshotPackage</span></a></span></span><span> </span><span id="local-6989586621679729016"><span class="annot"><span class="annottext">UTCTime
</span><a href="#local-6989586621679729016"><span class="hs-identifier hs-var">date</span></a></span></span><span> </span><span id="local-6989586621679729015"><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679729015"><span class="hs-identifier hs-var">pkg</span></a></span></span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-392"></span><span>  </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679729015"><span class="hs-identifier hs-var">pkg</span></a></span><span> </span><span class="hs-special">{</span><span>
</span><span id="line-393"></span><span>    </span><span class="annot"><span class="annottext">package :: PackageIdentifier
</span><a href="Distribution.Types.PackageDescription.html#package"><span class="hs-identifier hs-var">package</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">PackageIdentifier
</span><a href="#local-6989586621679729013"><span class="hs-identifier hs-var">pkgid</span></a></span><span> </span><span class="hs-special">{</span><span> </span><span class="annot"><span class="annottext">pkgVersion :: Version
</span><a href="Distribution.Types.PackageId.html#pkgVersion"><span class="hs-identifier hs-var">pkgVersion</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">UTCTime -&gt; Version -&gt; Version
</span><a href="Distribution.Simple.SrcDist.html#snapshotVersion"><span class="hs-identifier hs-var">snapshotVersion</span></a></span><span> </span><span class="annot"><span class="annottext">UTCTime
</span><a href="#local-6989586621679729016"><span class="hs-identifier hs-var">date</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">PackageIdentifier -&gt; Version
</span><a href="Distribution.Types.PackageId.html#pkgVersion"><span class="hs-identifier hs-var hs-var">pkgVersion</span></a></span><span> </span><span class="annot"><span class="annottext">PackageIdentifier
</span><a href="#local-6989586621679729013"><span class="hs-identifier hs-var">pkgid</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-special">}</span><span>
</span><span id="line-394"></span><span>  </span><span class="hs-special">}</span><span>
</span><span id="line-395"></span><span>  </span><span class="hs-keyword">where</span><span> </span><span id="local-6989586621679729013"><span class="annot"><span class="annottext">pkgid :: PackageIdentifier
</span><a href="#local-6989586621679729013"><span class="hs-identifier hs-var hs-var">pkgid</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">PackageDescription -&gt; PackageIdentifier
forall pkg. Package pkg =&gt; pkg -&gt; PackageIdentifier
</span><a href="Distribution.Package.html#packageId"><span class="hs-identifier hs-var">packageId</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679729015"><span class="hs-identifier hs-var">pkg</span></a></span><span>
</span><span id="line-396"></span><span>
</span><span id="line-397"></span><span class="hs-comment">-- | Modifies a 'Version' by appending a snapshot number corresponding</span><span>
</span><span id="line-398"></span><span class="hs-comment">-- to the given date.</span><span>
</span><span id="line-399"></span><span class="hs-comment">--</span><span>
</span><span id="line-400"></span><span class="annot"><a href="Distribution.Simple.SrcDist.html#snapshotVersion"><span class="hs-identifier hs-type">snapshotVersion</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../time/src/Data.Time.Clock.Internal.UTCTime.html#UTCTime"><span class="hs-identifier hs-type">UTCTime</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Types.Version.html#Version"><span class="hs-identifier hs-type">Version</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Types.Version.html#Version"><span class="hs-identifier hs-type">Version</span></a></span><span>
</span><span id="line-401"></span><span id="snapshotVersion"><span class="annot"><span class="annottext">snapshotVersion :: UTCTime -&gt; Version -&gt; Version
</span><a href="Distribution.Simple.SrcDist.html#snapshotVersion"><span class="hs-identifier hs-var hs-var">snapshotVersion</span></a></span></span><span> </span><span id="local-6989586621679729010"><span class="annot"><span class="annottext">UTCTime
</span><a href="#local-6989586621679729010"><span class="hs-identifier hs-var">date</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">([Int] -&gt; [Int]) -&gt; Version -&gt; Version
</span><a href="Distribution.Types.Version.html#alterVersion"><span class="hs-identifier hs-var">alterVersion</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">[Int] -&gt; [Int] -&gt; [Int]
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">UTCTime -&gt; Int
</span><a href="Distribution.Simple.SrcDist.html#dateToSnapshotNumber"><span class="hs-identifier hs-var">dateToSnapshotNumber</span></a></span><span> </span><span class="annot"><span class="annottext">UTCTime
</span><a href="#local-6989586621679729010"><span class="hs-identifier hs-var">date</span></a></span><span class="hs-special">]</span><span class="hs-special">)</span><span>
</span><span id="line-402"></span><span>
</span><span id="line-403"></span><span class="hs-comment">-- | Given a date produce a corresponding integer representation.</span><span>
</span><span id="line-404"></span><span class="hs-comment">-- For example given a date @18/03/2008@ produce the number @20080318@.</span><span>
</span><span id="line-405"></span><span class="hs-comment">--</span><span>
</span><span id="line-406"></span><span class="annot"><a href="Distribution.Simple.SrcDist.html#dateToSnapshotNumber"><span class="hs-identifier hs-type">dateToSnapshotNumber</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../time/src/Data.Time.Clock.Internal.UTCTime.html#UTCTime"><span class="hs-identifier hs-type">UTCTime</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="hs-identifier hs-type">Int</span></span><span>
</span><span id="line-407"></span><span id="dateToSnapshotNumber"><span class="annot"><span class="annottext">dateToSnapshotNumber :: UTCTime -&gt; Int
</span><a href="Distribution.Simple.SrcDist.html#dateToSnapshotNumber"><span class="hs-identifier hs-var hs-var">dateToSnapshotNumber</span></a></span></span><span> </span><span id="local-6989586621679729008"><span class="annot"><span class="annottext">UTCTime
</span><a href="#local-6989586621679729008"><span class="hs-identifier hs-var">date</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">Day -&gt; (Integer, Int, Int)
</span><a href="../../time/src/Data.Time.Calendar.Gregorian.html#toGregorian"><span class="hs-identifier hs-var">toGregorian</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">UTCTime -&gt; Day
</span><a href="../../time/src/Data.Time.Clock.Internal.UTCTime.html#utctDay"><span class="hs-identifier hs-var hs-var">utctDay</span></a></span><span> </span><span class="annot"><span class="annottext">UTCTime
</span><a href="#local-6989586621679729008"><span class="hs-identifier hs-var">date</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-408"></span><span>                            </span><span class="hs-special">(</span><span id="local-6989586621679729007"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679729007"><span class="hs-identifier hs-var">year</span></a></span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621679729006"><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621679729006"><span class="hs-identifier hs-var">month</span></a></span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621679729005"><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621679729005"><span class="hs-identifier hs-var">day</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span>
</span><span id="line-409"></span><span>                                </span><span class="annot"><span class="annottext">Integer -&gt; Int
forall a b. (Integral a, Num b) =&gt; a -&gt; b
</span><a href="../../base/src/GHC.Real.html#fromIntegral"><span class="hs-identifier hs-var">fromIntegral</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679729007"><span class="hs-identifier hs-var">year</span></a></span><span> </span><span class="annot"><span class="annottext">Int -&gt; Int -&gt; Int
forall a. Num a =&gt; a -&gt; a -&gt; a
</span><a href="../../base/src/GHC.Num.html#%2A"><span class="hs-operator hs-var">*</span></a></span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">10000</span></span><span>
</span><span id="line-410"></span><span>                              </span><span class="annot"><span class="annottext">Int -&gt; Int -&gt; Int
forall a. Num a =&gt; a -&gt; a -&gt; a
</span><a href="../../base/src/GHC.Num.html#%2B"><span class="hs-operator hs-var">+</span></a></span><span> </span><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621679729006"><span class="hs-identifier hs-var">month</span></a></span><span>             </span><span class="annot"><span class="annottext">Int -&gt; Int -&gt; Int
forall a. Num a =&gt; a -&gt; a -&gt; a
</span><a href="../../base/src/GHC.Num.html#%2A"><span class="hs-operator hs-var">*</span></a></span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">100</span></span><span>
</span><span id="line-411"></span><span>                              </span><span class="annot"><span class="annottext">Int -&gt; Int -&gt; Int
forall a. Num a =&gt; a -&gt; a -&gt; a
</span><a href="../../base/src/GHC.Num.html#%2B"><span class="hs-operator hs-var">+</span></a></span><span> </span><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621679729005"><span class="hs-identifier hs-var">day</span></a></span><span>
</span><span id="line-412"></span><span>
</span><span id="line-413"></span><span class="hs-comment">-- | Create an archive from a tree of source files, and clean up the tree.</span><span>
</span><span id="line-414"></span><span class="annot"><a href="Distribution.Simple.SrcDist.html#createArchive"><span class="hs-identifier hs-type">createArchive</span></a></span><span>
</span><span id="line-415"></span><span>    </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Verbosity.html#Verbosity"><span class="hs-identifier hs-type">Verbosity</span></a></span><span>            </span><span class="hs-comment">-- ^ verbosity</span><span>
</span><span id="line-416"></span><span>    </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Types.PackageDescription.html#PackageDescription"><span class="hs-identifier hs-type">PackageDescription</span></a></span><span>   </span><span class="hs-comment">-- ^ info from cabal file</span><span>
</span><span id="line-417"></span><span>    </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../base/src/GHC.IO.html#FilePath"><span class="hs-identifier hs-type">FilePath</span></a></span><span>             </span><span class="hs-comment">-- ^ source tree to archive</span><span>
</span><span id="line-418"></span><span>    </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../base/src/GHC.IO.html#FilePath"><span class="hs-identifier hs-type">FilePath</span></a></span><span>             </span><span class="hs-comment">-- ^ name of archive to create</span><span>
</span><span id="line-419"></span><span>    </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="hs-identifier hs-type">IO</span></span><span> </span><span class="annot"><a href="../../base/src/GHC.IO.html#FilePath"><span class="hs-identifier hs-type">FilePath</span></a></span><span>
</span><span id="line-420"></span><span id="createArchive"><span class="annot"><span class="annottext">createArchive :: Verbosity -&gt; PackageDescription -&gt; String -&gt; String -&gt; IO String
</span><a href="Distribution.Simple.SrcDist.html#createArchive"><span class="hs-identifier hs-var hs-var">createArchive</span></a></span></span><span> </span><span id="local-6989586621679729002"><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729002"><span class="hs-identifier hs-var">verbosity</span></a></span></span><span> </span><span id="local-6989586621679729001"><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679729001"><span class="hs-identifier hs-var">pkg_descr</span></a></span></span><span> </span><span id="local-6989586621679729000"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729000"><span class="hs-identifier hs-var">tmpDir</span></a></span></span><span> </span><span id="local-6989586621679728999"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679728999"><span class="hs-identifier hs-var">targetPref</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
</span><span id="line-421"></span><span>  </span><span class="hs-keyword">let</span><span> </span><span id="local-6989586621679728998"><span class="annot"><span class="annottext">tarBallFilePath :: String
</span><a href="#local-6989586621679728998"><span class="hs-identifier hs-var hs-var">tarBallFilePath</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679728999"><span class="hs-identifier hs-var">targetPref</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
</span><a href="../../filepath/src/System.FilePath.Windows.html#%3C%2F%3E"><span class="hs-operator hs-var">&lt;/&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription -&gt; String
</span><a href="Distribution.Simple.SrcDist.html#tarBallName"><span class="hs-identifier hs-var">tarBallName</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679729001"><span class="hs-identifier hs-var">pkg_descr</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
</span><a href="../../filepath/src/System.FilePath.Windows.html#%3C.%3E"><span class="hs-operator hs-var">&lt;.&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;tar.gz&quot;</span></span><span>
</span><span id="line-422"></span><span>  </span><span class="hs-special">(</span><span id="local-6989586621679728997"><span class="annot"><span class="annottext">ConfiguredProgram
</span><a href="#local-6989586621679728997"><span class="hs-identifier hs-var">tarProg</span></a></span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">ProgramDb
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">Verbosity
-&gt; Program -&gt; ProgramDb -&gt; IO (ConfiguredProgram, ProgramDb)
</span><a href="Distribution.Simple.Program.Db.html#requireProgram"><span class="hs-identifier hs-var">requireProgram</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729002"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">Program
</span><a href="Distribution.Simple.Program.Builtin.html#tarProgram"><span class="hs-identifier hs-var">tarProgram</span></a></span><span> </span><span class="annot"><span class="annottext">ProgramDb
</span><a href="Distribution.Simple.Program.Db.html#defaultProgramDb"><span class="hs-identifier hs-var">defaultProgramDb</span></a></span><span>
</span><span id="line-423"></span><span>  </span><span class="hs-keyword">let</span><span> </span><span id="local-6989586621679728987"><span class="annot"><span class="annottext">formatOptSupported :: Bool
</span><a href="#local-6989586621679728987"><span class="hs-identifier hs-var hs-var">formatOptSupported</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool -&gt; (String -&gt; Bool) -&gt; Maybe String -&gt; Bool
forall b a. b -&gt; (a -&gt; b) -&gt; Maybe a -&gt; b
</span><a href="../../base/src/Data.Maybe.html#maybe"><span class="hs-identifier hs-var">maybe</span></a></span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">False</span></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; String -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><span class="hs-operator hs-var">==</span></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;YES&quot;</span></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">(Maybe String -&gt; Bool) -&gt; Maybe String -&gt; Bool
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span>
</span><span id="line-424"></span><span>                           </span><span class="annot"><span class="annottext">String -&gt; Map String String -&gt; Maybe String
forall k a. Ord k =&gt; k -&gt; Map k a -&gt; Maybe a
</span><a href="../../containers/src/Data.Map.Internal.html#lookup"><span class="hs-identifier hs-var">Map.lookup</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;Supports --format&quot;</span></span><span>
</span><span id="line-425"></span><span>                           </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ConfiguredProgram -&gt; Map String String
</span><a href="Distribution.Simple.Program.Types.html#programProperties"><span class="hs-identifier hs-var hs-var">programProperties</span></a></span><span> </span><span class="annot"><span class="annottext">ConfiguredProgram
</span><a href="#local-6989586621679728997"><span class="hs-identifier hs-var">tarProg</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-426"></span><span>  </span><span class="annot"><span class="annottext">Verbosity -&gt; ConfiguredProgram -&gt; [String] -&gt; IO ()
</span><a href="Distribution.Simple.Program.html#runProgram"><span class="hs-identifier hs-var">runProgram</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679729002"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">ConfiguredProgram
</span><a href="#local-6989586621679728997"><span class="hs-identifier hs-var">tarProg</span></a></span><span> </span><span class="annot"><span class="annottext">([String] -&gt; IO ()) -&gt; [String] -&gt; IO ()
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span>
</span><span id="line-427"></span><span>    </span><span class="hs-comment">-- Hmm: I could well be skating on thinner ice here by using the -C option</span><span>
</span><span id="line-428"></span><span>    </span><span class="hs-comment">-- (=&gt; seems to be supported at least by GNU and *BSD tar) [The</span><span>
</span><span id="line-429"></span><span>    </span><span class="hs-comment">-- prev. solution used pipes and sub-command sequences to set up the paths</span><span>
</span><span id="line-430"></span><span>    </span><span class="hs-comment">-- correctly, which is problematic in a Windows setting.]</span><span>
</span><span id="line-431"></span><span>    </span><span class="hs-special">[</span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;-czf&quot;</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679728998"><span class="hs-identifier hs-var">tarBallFilePath</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;-C&quot;</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679729000"><span class="hs-identifier hs-var">tmpDir</span></a></span><span class="hs-special">]</span><span>
</span><span id="line-432"></span><span>    </span><span class="annot"><span class="annottext">[String] -&gt; [String] -&gt; [String]
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-keyword">if</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="#local-6989586621679728987"><span class="hs-identifier hs-var">formatOptSupported</span></a></span><span> </span><span class="hs-keyword">then</span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;--format&quot;</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;ustar&quot;</span></span><span class="hs-special">]</span><span> </span><span class="hs-keyword">else</span><span> </span><span class="hs-special">[</span><span class="hs-special">]</span><span class="hs-special">)</span><span>
</span><span id="line-433"></span><span>    </span><span class="annot"><span class="annottext">[String] -&gt; [String] -&gt; [String]
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">PackageDescription -&gt; String
</span><a href="Distribution.Simple.SrcDist.html#tarBallName"><span class="hs-identifier hs-var">tarBallName</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679729001"><span class="hs-identifier hs-var">pkg_descr</span></a></span><span class="hs-special">]</span><span>
</span><span id="line-434"></span><span>  </span><span class="annot"><span class="annottext">String -&gt; IO String
forall (m :: * -&gt; *) a. Monad m =&gt; a -&gt; m a
</span><a href="../../base/src/GHC.Base.html#return"><span class="hs-identifier hs-var">return</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679728998"><span class="hs-identifier hs-var">tarBallFilePath</span></a></span><span>
</span><span id="line-435"></span><span>
</span><span id="line-436"></span><span class="hs-comment">-- | Given a buildinfo, return the names of all source files.</span><span>
</span><span id="line-437"></span><span class="annot"><a href="Distribution.Simple.SrcDist.html#allSourcesBuildInfo"><span class="hs-identifier hs-type">allSourcesBuildInfo</span></a></span><span>
</span><span id="line-438"></span><span>    </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Verbosity.html#Verbosity"><span class="hs-identifier hs-type">Verbosity</span></a></span><span>
</span><span id="line-439"></span><span>    </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="Distribution.Verbosity.html#Verbosity"><span class="hs-identifier hs-type">Verbosity</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="hs-identifier hs-type">IO</span></span><span> </span><span class="hs-special">[</span><span class="annot"><a href="../../base/src/GHC.IO.html#FilePath"><span class="hs-identifier hs-type">FilePath</span></a></span><span class="hs-special">]</span><span class="hs-special">)</span><span>
</span><span id="line-440"></span><span>    </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../base/src/GHC.IO.html#FilePath"><span class="hs-identifier hs-type">FilePath</span></a></span><span>          </span><span class="hs-comment">-- ^ cwd</span><span>
</span><span id="line-441"></span><span>    </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Types.BuildInfo.html#BuildInfo"><span class="hs-identifier hs-type">BuildInfo</span></a></span><span>
</span><span id="line-442"></span><span>    </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="Distribution.Simple.PreProcess.html#PPSuffixHandler"><span class="hs-identifier hs-type">PPSuffixHandler</span></a></span><span class="hs-special">]</span><span> </span><span class="hs-comment">-- ^ Extra preprocessors</span><span>
</span><span id="line-443"></span><span>    </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="Distribution.ModuleName.html#ModuleName"><span class="hs-identifier hs-type">ModuleName</span></a></span><span class="hs-special">]</span><span>      </span><span class="hs-comment">-- ^ Exposed modules</span><span>
</span><span id="line-444"></span><span>    </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="hs-identifier hs-type">IO</span></span><span> </span><span class="hs-special">[</span><span class="annot"><a href="../../base/src/GHC.IO.html#FilePath"><span class="hs-identifier hs-type">FilePath</span></a></span><span class="hs-special">]</span><span>
</span><span id="line-445"></span><span id="allSourcesBuildInfo"><span class="annot"><span class="annottext">allSourcesBuildInfo :: Verbosity
-&gt; (Verbosity -&gt; String -&gt; IO [String])
-&gt; String
-&gt; BuildInfo
-&gt; [PPSuffixHandler]
-&gt; [ModuleName]
-&gt; IO [String]
</span><a href="Distribution.Simple.SrcDist.html#allSourcesBuildInfo"><span class="hs-identifier hs-var hs-var">allSourcesBuildInfo</span></a></span></span><span> </span><span id="local-6989586621679728983"><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679728983"><span class="hs-identifier hs-var">verbosity</span></a></span></span><span> </span><span id="local-6989586621679728982"><span class="annot"><span class="annottext">Verbosity -&gt; String -&gt; IO [String]
</span><a href="#local-6989586621679728982"><span class="hs-identifier hs-var">rip</span></a></span></span><span> </span><span id="local-6989586621679728981"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679728981"><span class="hs-identifier hs-var">cwd</span></a></span></span><span> </span><span id="local-6989586621679728980"><span class="annot"><span class="annottext">BuildInfo
</span><a href="#local-6989586621679728980"><span class="hs-identifier hs-var">bi</span></a></span></span><span> </span><span id="local-6989586621679728979"><span class="annot"><span class="annottext">[PPSuffixHandler]
</span><a href="#local-6989586621679728979"><span class="hs-identifier hs-var">pps</span></a></span></span><span> </span><span id="local-6989586621679728978"><span class="annot"><span class="annottext">[ModuleName]
</span><a href="#local-6989586621679728978"><span class="hs-identifier hs-var">modules</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
</span><span id="line-446"></span><span>  </span><span class="hs-keyword">let</span><span> </span><span id="local-6989586621679728977"><span class="annot"><span class="annottext">searchDirs :: [String]
</span><a href="#local-6989586621679728977"><span class="hs-identifier hs-var hs-var">searchDirs</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">BuildInfo -&gt; [String]
</span><a href="Distribution.Types.BuildInfo.html#hsSourceDirs"><span class="hs-identifier hs-var hs-var">hsSourceDirs</span></a></span><span> </span><span class="annot"><span class="annottext">BuildInfo
</span><a href="#local-6989586621679728980"><span class="hs-identifier hs-var">bi</span></a></span><span>
</span><span id="line-447"></span><span>  </span><span id="local-6989586621679728976"><span class="annot"><span class="annottext">[String]
</span><a href="#local-6989586621679728976"><span class="hs-identifier hs-var">sources</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">([[String]] -&gt; [String]) -&gt; IO [[String]] -&gt; IO [String]
forall (f :: * -&gt; *) a b. Functor f =&gt; (a -&gt; b) -&gt; f a -&gt; f b
</span><a href="../../base/src/GHC.Base.html#fmap"><span class="hs-identifier hs-var">fmap</span></a></span><span> </span><span class="annot"><span class="annottext">[[String]] -&gt; [String]
forall (t :: * -&gt; *) a. Foldable t =&gt; t [a] -&gt; [a]
</span><a href="../../base/src/Data.Foldable.html#concat"><span class="hs-identifier hs-var">concat</span></a></span><span> </span><span class="annot"><span class="annottext">(IO [[String]] -&gt; IO [String]) -&gt; IO [[String]] -&gt; IO [String]
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">[IO [String]] -&gt; IO [[String]]
forall (t :: * -&gt; *) (f :: * -&gt; *) a.
(Traversable t, Applicative f) =&gt;
t (f a) -&gt; f (t a)
</span><a href="../../base/src/Data.Traversable.html#sequenceA"><span class="hs-identifier hs-var">sequenceA</span></a></span><span> </span><span class="annot"><span class="annottext">([IO [String]] -&gt; IO [[String]]) -&gt; [IO [String]] -&gt; IO [[String]]
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span>
</span><span id="line-448"></span><span>    </span><span class="hs-special">[</span><span> </span><span class="hs-keyword">let</span><span> </span><span id="local-6989586621679728975"><span class="annot"><span class="annottext">file :: String
</span><a href="#local-6989586621679728975"><span class="hs-identifier hs-var hs-var">file</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ModuleName -&gt; String
</span><a href="Distribution.ModuleName.html#toFilePath"><span class="hs-identifier hs-var">ModuleName.toFilePath</span></a></span><span> </span><span class="annot"><span class="annottext">ModuleName
</span><a href="#local-6989586621679728973"><span class="hs-identifier hs-var">module_</span></a></span><span>
</span><span id="line-449"></span><span>      </span><span class="hs-comment">-- NB: *Not* findFileWithExtension, because the same source</span><span>
</span><span id="line-450"></span><span>      </span><span class="hs-comment">-- file may show up in multiple paths due to a conditional;</span><span>
</span><span id="line-451"></span><span>      </span><span class="hs-comment">-- we need to package all of them.  See #367.</span><span>
</span><span id="line-452"></span><span>      </span><span class="hs-keyword">in</span><span> </span><span class="annot"><span class="annottext">String -&gt; [String] -&gt; [String] -&gt; String -&gt; IO [String]
</span><a href="Distribution.Simple.Utils.html#findAllFilesCwdWithExtension"><span class="hs-identifier hs-var">findAllFilesCwdWithExtension</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679728981"><span class="hs-identifier hs-var">cwd</span></a></span><span> </span><span class="annot"><span class="annottext">[String]
</span><a href="#local-6989586621679728971"><span class="hs-identifier hs-var">suffixes</span></a></span><span> </span><span class="annot"><span class="annottext">[String]
</span><a href="#local-6989586621679728977"><span class="hs-identifier hs-var">searchDirs</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679728975"><span class="hs-identifier hs-var">file</span></a></span><span>
</span><span id="line-453"></span><span>         </span><span class="annot"><span class="annottext">IO [String] -&gt; ([String] -&gt; IO [String]) -&gt; IO [String]
forall (m :: * -&gt; *) a b. Monad m =&gt; m a -&gt; (a -&gt; m b) -&gt; m b
</span><a href="../../base/src/GHC.Base.html#%3E%3E%3D"><span class="hs-operator hs-var">&gt;&gt;=</span></a></span><span> </span><span class="annot"><span class="annottext">IO [String] -&gt; ([String] -&gt; IO [String]) -&gt; [String] -&gt; IO [String]
forall {p} {a}. p -&gt; ([a] -&gt; p) -&gt; [a] -&gt; p
</span><a href="#local-6989586621679728970"><span class="hs-identifier hs-var">nonEmpty</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ModuleName -&gt; IO [String]
</span><a href="#local-6989586621679728969"><span class="hs-identifier hs-var">notFound</span></a></span><span> </span><span class="annot"><span class="annottext">ModuleName
</span><a href="#local-6989586621679728973"><span class="hs-identifier hs-var">module_</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">[String] -&gt; IO [String]
forall (m :: * -&gt; *) a. Monad m =&gt; a -&gt; m a
</span><a href="../../base/src/GHC.Base.html#return"><span class="hs-identifier hs-var">return</span></a></span><span>
</span><span id="line-454"></span><span>    </span><span class="hs-glyph">|</span><span> </span><span id="local-6989586621679728973"><span class="annot"><span class="annottext">ModuleName
</span><a href="#local-6989586621679728973"><span class="hs-identifier hs-var">module_</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">[ModuleName]
</span><a href="#local-6989586621679728978"><span class="hs-identifier hs-var">modules</span></a></span><span> </span><span class="annot"><span class="annottext">[ModuleName] -&gt; [ModuleName] -&gt; [ModuleName]
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">BuildInfo -&gt; [ModuleName]
</span><a href="Distribution.Types.BuildInfo.html#otherModules"><span class="hs-identifier hs-var hs-var">otherModules</span></a></span><span> </span><span class="annot"><span class="annottext">BuildInfo
</span><a href="#local-6989586621679728980"><span class="hs-identifier hs-var">bi</span></a></span><span> </span><span class="hs-special">]</span><span>
</span><span id="line-455"></span><span>  </span><span id="local-6989586621679728968"><span class="annot"><span class="annottext">[Maybe String]
</span><a href="#local-6989586621679728968"><span class="hs-identifier hs-var">bootFiles</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">[IO (Maybe String)] -&gt; IO [Maybe String]
forall (t :: * -&gt; *) (f :: * -&gt; *) a.
(Traversable t, Applicative f) =&gt;
t (f a) -&gt; f (t a)
</span><a href="../../base/src/Data.Traversable.html#sequenceA"><span class="hs-identifier hs-var">sequenceA</span></a></span><span>
</span><span id="line-456"></span><span>    </span><span class="hs-special">[</span><span> </span><span class="hs-keyword">let</span><span> </span><span id="local-6989586621679728967"><span class="annot"><span class="annottext">file :: String
</span><a href="#local-6989586621679728967"><span class="hs-identifier hs-var hs-var">file</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ModuleName -&gt; String
</span><a href="Distribution.ModuleName.html#toFilePath"><span class="hs-identifier hs-var">ModuleName.toFilePath</span></a></span><span> </span><span class="annot"><span class="annottext">ModuleName
</span><a href="#local-6989586621679728966"><span class="hs-identifier hs-var">module_</span></a></span><span>
</span><span id="line-457"></span><span>          </span><span id="local-6989586621679728965"><span class="annot"><span class="annottext">fileExts :: [String]
</span><a href="#local-6989586621679728965"><span class="hs-identifier hs-var hs-var">fileExts</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;hs-boot&quot;</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;lhs-boot&quot;</span></span><span class="hs-special">]</span><span>
</span><span id="line-458"></span><span>      </span><span class="hs-keyword">in</span><span> </span><span class="annot"><span class="annottext">String -&gt; [String] -&gt; [String] -&gt; String -&gt; IO (Maybe String)
</span><a href="Distribution.Simple.Utils.html#findFileCwdWithExtension"><span class="hs-identifier hs-var">findFileCwdWithExtension</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679728981"><span class="hs-identifier hs-var">cwd</span></a></span><span> </span><span class="annot"><span class="annottext">[String]
</span><a href="#local-6989586621679728965"><span class="hs-identifier hs-var">fileExts</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">BuildInfo -&gt; [String]
</span><a href="Distribution.Types.BuildInfo.html#hsSourceDirs"><span class="hs-identifier hs-var hs-var">hsSourceDirs</span></a></span><span> </span><span class="annot"><span class="annottext">BuildInfo
</span><a href="#local-6989586621679728980"><span class="hs-identifier hs-var">bi</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679728967"><span class="hs-identifier hs-var">file</span></a></span><span>
</span><span id="line-459"></span><span>    </span><span class="hs-glyph">|</span><span> </span><span id="local-6989586621679728966"><span class="annot"><span class="annottext">ModuleName
</span><a href="#local-6989586621679728966"><span class="hs-identifier hs-var">module_</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">[ModuleName]
</span><a href="#local-6989586621679728978"><span class="hs-identifier hs-var">modules</span></a></span><span> </span><span class="annot"><span class="annottext">[ModuleName] -&gt; [ModuleName] -&gt; [ModuleName]
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">BuildInfo -&gt; [ModuleName]
</span><a href="Distribution.Types.BuildInfo.html#otherModules"><span class="hs-identifier hs-var hs-var">otherModules</span></a></span><span> </span><span class="annot"><span class="annottext">BuildInfo
</span><a href="#local-6989586621679728980"><span class="hs-identifier hs-var">bi</span></a></span><span> </span><span class="hs-special">]</span><span>
</span><span id="line-460"></span><span>
</span><span id="line-461"></span><span>  </span><span class="annot"><span class="annottext">[String] -&gt; IO [String]
forall (m :: * -&gt; *) a. Monad m =&gt; a -&gt; m a
</span><a href="../../base/src/GHC.Base.html#return"><span class="hs-identifier hs-var">return</span></a></span><span> </span><span class="annot"><span class="annottext">([String] -&gt; IO [String]) -&gt; [String] -&gt; IO [String]
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">[String]
</span><a href="#local-6989586621679728976"><span class="hs-identifier hs-var">sources</span></a></span><span> </span><span class="annot"><span class="annottext">[String] -&gt; [String] -&gt; [String]
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">[Maybe String] -&gt; [String]
forall a. [Maybe a] -&gt; [a]
</span><a href="../../base/src/Data.Maybe.html#catMaybes"><span class="hs-identifier hs-var">catMaybes</span></a></span><span> </span><span class="annot"><span class="annottext">[Maybe String]
</span><a href="#local-6989586621679728968"><span class="hs-identifier hs-var">bootFiles</span></a></span><span> </span><span class="annot"><span class="annottext">[String] -&gt; [String] -&gt; [String]
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">BuildInfo -&gt; [String]
</span><a href="Distribution.Types.BuildInfo.html#cSources"><span class="hs-identifier hs-var hs-var">cSources</span></a></span><span> </span><span class="annot"><span class="annottext">BuildInfo
</span><a href="#local-6989586621679728980"><span class="hs-identifier hs-var">bi</span></a></span><span> </span><span class="annot"><span class="annottext">[String] -&gt; [String] -&gt; [String]
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">BuildInfo -&gt; [String]
</span><a href="Distribution.Types.BuildInfo.html#cxxSources"><span class="hs-identifier hs-var hs-var">cxxSources</span></a></span><span> </span><span class="annot"><span class="annottext">BuildInfo
</span><a href="#local-6989586621679728980"><span class="hs-identifier hs-var">bi</span></a></span><span> </span><span class="annot"><span class="annottext">[String] -&gt; [String] -&gt; [String]
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-462"></span><span>           </span><span class="annot"><span class="annottext">BuildInfo -&gt; [String]
</span><a href="Distribution.Types.BuildInfo.html#cmmSources"><span class="hs-identifier hs-var hs-var">cmmSources</span></a></span><span> </span><span class="annot"><span class="annottext">BuildInfo
</span><a href="#local-6989586621679728980"><span class="hs-identifier hs-var">bi</span></a></span><span> </span><span class="annot"><span class="annottext">[String] -&gt; [String] -&gt; [String]
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">BuildInfo -&gt; [String]
</span><a href="Distribution.Types.BuildInfo.html#asmSources"><span class="hs-identifier hs-var hs-var">asmSources</span></a></span><span> </span><span class="annot"><span class="annottext">BuildInfo
</span><a href="#local-6989586621679728980"><span class="hs-identifier hs-var">bi</span></a></span><span> </span><span class="annot"><span class="annottext">[String] -&gt; [String] -&gt; [String]
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">BuildInfo -&gt; [String]
</span><a href="Distribution.Types.BuildInfo.html#jsSources"><span class="hs-identifier hs-var hs-var">jsSources</span></a></span><span> </span><span class="annot"><span class="annottext">BuildInfo
</span><a href="#local-6989586621679728980"><span class="hs-identifier hs-var">bi</span></a></span><span>
</span><span id="line-463"></span><span>
</span><span id="line-464"></span><span>  </span><span class="hs-keyword">where</span><span>
</span><span id="line-465"></span><span>    </span><span id="local-6989586621679728970"><span class="annot"><span class="annottext">nonEmpty :: p -&gt; ([a] -&gt; p) -&gt; [a] -&gt; p
</span><a href="#local-6989586621679728970"><span class="hs-identifier hs-var hs-var">nonEmpty</span></a></span></span><span> </span><span id="local-6989586621679728958"><span class="annot"><span class="annottext">p
</span><a href="#local-6989586621679728958"><span class="hs-identifier hs-var">x</span></a></span></span><span> </span><span class="annot"><span class="annottext">[a] -&gt; p
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-special">[</span><span class="hs-special">]</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">p
</span><a href="#local-6989586621679728958"><span class="hs-identifier hs-var">x</span></a></span><span>
</span><span id="line-466"></span><span>    </span><span class="annot"><a href="#local-6989586621679728970"><span class="hs-identifier hs-var">nonEmpty</span></a></span><span> </span><span class="annot"><span class="annottext">p
</span><span class="hs-identifier">_</span></span><span> </span><span id="local-6989586621679728957"><span class="annot"><span class="annottext">[a] -&gt; p
</span><a href="#local-6989586621679728957"><span class="hs-identifier hs-var">f</span></a></span></span><span> </span><span id="local-6989586621679728956"><span class="annot"><span class="annottext">[a]
</span><a href="#local-6989586621679728956"><span class="hs-identifier hs-var">xs</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">[a] -&gt; p
</span><a href="#local-6989586621679728957"><span class="hs-identifier hs-var">f</span></a></span><span> </span><span class="annot"><span class="annottext">[a]
</span><a href="#local-6989586621679728956"><span class="hs-identifier hs-var">xs</span></a></span><span>
</span><span id="line-467"></span><span>    </span><span id="local-6989586621679728971"><span class="annot"><span class="annottext">suffixes :: [String]
</span><a href="#local-6989586621679728971"><span class="hs-identifier hs-var hs-var">suffixes</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">[PPSuffixHandler] -&gt; [String]
</span><a href="Distribution.Simple.PreProcess.html#ppSuffixes"><span class="hs-identifier hs-var">ppSuffixes</span></a></span><span> </span><span class="annot"><span class="annottext">[PPSuffixHandler]
</span><a href="#local-6989586621679728979"><span class="hs-identifier hs-var">pps</span></a></span><span> </span><span class="annot"><span class="annottext">[String] -&gt; [String] -&gt; [String]
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;hs&quot;</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;lhs&quot;</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;hsig&quot;</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;lhsig&quot;</span></span><span class="hs-special">]</span><span>
</span><span id="line-468"></span><span>
</span><span id="line-469"></span><span>    </span><span class="annot"><a href="#local-6989586621679728969"><span class="hs-identifier hs-type">notFound</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.ModuleName.html#ModuleName"><span class="hs-identifier hs-type">ModuleName</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="hs-identifier hs-type">IO</span></span><span> </span><span class="hs-special">[</span><span class="annot"><a href="../../base/src/GHC.IO.html#FilePath"><span class="hs-identifier hs-type">FilePath</span></a></span><span class="hs-special">]</span><span>
</span><span id="line-470"></span><span>    </span><span id="local-6989586621679728969"><span class="annot"><span class="annottext">notFound :: ModuleName -&gt; IO [String]
</span><a href="#local-6989586621679728969"><span class="hs-identifier hs-var hs-var">notFound</span></a></span></span><span> </span><span id="local-6989586621679728955"><span class="annot"><span class="annottext">ModuleName
</span><a href="#local-6989586621679728955"><span class="hs-identifier hs-var">m</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Verbosity -&gt; String -&gt; IO [String]
</span><a href="#local-6989586621679728982"><span class="hs-identifier hs-var">rip</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679728983"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">(String -&gt; IO [String]) -&gt; String -&gt; IO [String]
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;Error: Could not find module: &quot;</span></span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">ModuleName -&gt; String
forall a. Pretty a =&gt; a -&gt; String
</span><a href="Distribution.Pretty.html#prettyShow"><span class="hs-identifier hs-var">prettyShow</span></a></span><span> </span><span class="annot"><span class="annottext">ModuleName
</span><a href="#local-6989586621679728955"><span class="hs-identifier hs-var">m</span></a></span><span>
</span><span id="line-471"></span><span>                 </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot; with any suffix: &quot;</span></span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">[String] -&gt; String
forall a. Show a =&gt; a -&gt; String
</span><a href="../../base/src/GHC.Show.html#show"><span class="hs-identifier hs-var">show</span></a></span><span> </span><span class="annot"><span class="annottext">[String]
</span><a href="#local-6989586621679728971"><span class="hs-identifier hs-var">suffixes</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;. If the module &quot;</span></span><span>
</span><span id="line-472"></span><span>                 </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;is autogenerated it should be added to 'autogen-modules'.&quot;</span></span><span>
</span><span id="line-473"></span><span>
</span><span id="line-474"></span><span>
</span><span id="line-475"></span><span class="hs-comment">-- | Note: must be called with the CWD set to the directory containing</span><span>
</span><span id="line-476"></span><span class="hs-comment">-- the '.cabal' file.</span><span>
</span><span id="line-477"></span><span class="annot"><a href="Distribution.Simple.SrcDist.html#printPackageProblems"><span class="hs-identifier hs-type">printPackageProblems</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Verbosity.html#Verbosity"><span class="hs-identifier hs-type">Verbosity</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Types.PackageDescription.html#PackageDescription"><span class="hs-identifier hs-type">PackageDescription</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="hs-identifier hs-type">IO</span></span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span><span>
</span><span id="line-478"></span><span id="printPackageProblems"><span class="annot"><span class="annottext">printPackageProblems :: Verbosity -&gt; PackageDescription -&gt; IO ()
</span><a href="Distribution.Simple.SrcDist.html#printPackageProblems"><span class="hs-identifier hs-var hs-var">printPackageProblems</span></a></span></span><span> </span><span id="local-6989586621679728954"><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679728954"><span class="hs-identifier hs-var">verbosity</span></a></span></span><span> </span><span id="local-6989586621679728953"><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679728953"><span class="hs-identifier hs-var">pkg_descr</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
</span><span id="line-479"></span><span>  </span><span id="local-6989586621679728952"><span class="annot"><span class="annottext">[PackageCheck]
</span><a href="#local-6989586621679728952"><span class="hs-identifier hs-var">ioChecks</span></a></span></span><span>      </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">Verbosity -&gt; PackageDescription -&gt; String -&gt; IO [PackageCheck]
</span><a href="Distribution.PackageDescription.Check.html#checkPackageFiles"><span class="hs-identifier hs-var">checkPackageFiles</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679728954"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679728953"><span class="hs-identifier hs-var">pkg_descr</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;.&quot;</span></span><span>
</span><span id="line-480"></span><span>  </span><span class="hs-keyword">let</span><span> </span><span id="local-6989586621679728950"><span class="annot"><span class="annottext">pureChecks :: [PackageCheck]
</span><a href="#local-6989586621679728950"><span class="hs-identifier hs-var hs-var">pureChecks</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">PackageDescription -&gt; [PackageCheck]
</span><a href="Distribution.PackageDescription.Check.html#checkConfiguredPackage"><span class="hs-identifier hs-var">checkConfiguredPackage</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679728953"><span class="hs-identifier hs-var">pkg_descr</span></a></span><span>
</span><span id="line-481"></span><span>      </span><span id="local-6989586621679728948"><span class="annot"><span class="annottext">isDistError :: PackageCheck -&gt; Bool
</span><a href="#local-6989586621679728948"><span class="hs-identifier hs-var hs-var">isDistError</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="Distribution.PackageDescription.Check.html#PackageDistSuspicious"><span class="hs-identifier hs-type">PackageDistSuspicious</span></a></span><span>     </span><span class="annot"><span class="annottext">String
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">False</span></span><span>
</span><span id="line-482"></span><span>      </span><span class="annot"><a href="#local-6989586621679728948"><span class="hs-identifier hs-var">isDistError</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="Distribution.PackageDescription.Check.html#PackageDistSuspiciousWarn"><span class="hs-identifier hs-type">PackageDistSuspiciousWarn</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">False</span></span><span>
</span><span id="line-483"></span><span>      </span><span class="annot"><a href="#local-6989586621679728948"><span class="hs-identifier hs-var">isDistError</span></a></span><span> </span><span class="annot"><span class="annottext">PackageCheck
</span><span class="hs-identifier">_</span></span><span>                             </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">True</span></span><span>
</span><span id="line-484"></span><span>      </span><span class="hs-special">(</span><span id="local-6989586621679728945"><span class="annot"><span class="annottext">[PackageCheck]
</span><a href="#local-6989586621679728945"><span class="hs-identifier hs-var">errors</span></a></span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621679728944"><span class="annot"><span class="annottext">[PackageCheck]
</span><a href="#local-6989586621679728944"><span class="hs-identifier hs-var">warnings</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">(PackageCheck -&gt; Bool)
-&gt; [PackageCheck] -&gt; ([PackageCheck], [PackageCheck])
forall a. (a -&gt; Bool) -&gt; [a] -&gt; ([a], [a])
</span><a href="../../base/src/Data.OldList.html#partition"><span class="hs-identifier hs-var">partition</span></a></span><span> </span><span class="annot"><span class="annottext">PackageCheck -&gt; Bool
</span><a href="#local-6989586621679728948"><span class="hs-identifier hs-var">isDistError</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">[PackageCheck]
</span><a href="#local-6989586621679728950"><span class="hs-identifier hs-var">pureChecks</span></a></span><span> </span><span class="annot"><span class="annottext">[PackageCheck] -&gt; [PackageCheck] -&gt; [PackageCheck]
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">[PackageCheck]
</span><a href="#local-6989586621679728952"><span class="hs-identifier hs-var">ioChecks</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-485"></span><span>  </span><span class="annot"><span class="annottext">Bool -&gt; IO () -&gt; IO ()
forall (f :: * -&gt; *). Applicative f =&gt; Bool -&gt; f () -&gt; f ()
</span><a href="../../base/src/Control.Monad.html#unless"><span class="hs-identifier hs-var">unless</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">[PackageCheck] -&gt; Bool
forall (t :: * -&gt; *) a. Foldable t =&gt; t a -&gt; Bool
</span><a href="../../base/src/Data.Foldable.html#null"><span class="hs-identifier hs-var">null</span></a></span><span> </span><span class="annot"><span class="annottext">[PackageCheck]
</span><a href="#local-6989586621679728945"><span class="hs-identifier hs-var">errors</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">(IO () -&gt; IO ()) -&gt; IO () -&gt; IO ()
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span>
</span><span id="line-486"></span><span>      </span><span class="annot"><span class="annottext">Verbosity -&gt; String -&gt; IO ()
</span><a href="Distribution.Simple.Utils.html#notice"><span class="hs-identifier hs-var">notice</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679728954"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">(String -&gt; IO ()) -&gt; String -&gt; IO ()
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;Distribution quality errors:\n&quot;</span></span><span>
</span><span id="line-487"></span><span>                      </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">[String] -&gt; String
</span><a href="../../base/src/Data.OldList.html#unlines"><span class="hs-identifier hs-var">unlines</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">(PackageCheck -&gt; String) -&gt; [PackageCheck] -&gt; [String]
forall a b. (a -&gt; b) -&gt; [a] -&gt; [b]
</span><a href="../../base/src/GHC.Base.html#map"><span class="hs-identifier hs-var">map</span></a></span><span> </span><span class="annot"><span class="annottext">PackageCheck -&gt; String
</span><a href="Distribution.PackageDescription.Check.html#explanation"><span class="hs-identifier hs-var hs-var">explanation</span></a></span><span> </span><span class="annot"><span class="annottext">[PackageCheck]
</span><a href="#local-6989586621679728945"><span class="hs-identifier hs-var">errors</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-488"></span><span>  </span><span class="annot"><span class="annottext">Bool -&gt; IO () -&gt; IO ()
forall (f :: * -&gt; *). Applicative f =&gt; Bool -&gt; f () -&gt; f ()
</span><a href="../../base/src/Control.Monad.html#unless"><span class="hs-identifier hs-var">unless</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">[PackageCheck] -&gt; Bool
forall (t :: * -&gt; *) a. Foldable t =&gt; t a -&gt; Bool
</span><a href="../../base/src/Data.Foldable.html#null"><span class="hs-identifier hs-var">null</span></a></span><span> </span><span class="annot"><span class="annottext">[PackageCheck]
</span><a href="#local-6989586621679728944"><span class="hs-identifier hs-var">warnings</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">(IO () -&gt; IO ()) -&gt; IO () -&gt; IO ()
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span>
</span><span id="line-489"></span><span>      </span><span class="annot"><span class="annottext">Verbosity -&gt; String -&gt; IO ()
</span><a href="Distribution.Simple.Utils.html#notice"><span class="hs-identifier hs-var">notice</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679728954"><span class="hs-identifier hs-var">verbosity</span></a></span><span> </span><span class="annot"><span class="annottext">(String -&gt; IO ()) -&gt; String -&gt; IO ()
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;Distribution quality warnings:\n&quot;</span></span><span>
</span><span id="line-490"></span><span>                      </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">[String] -&gt; String
</span><a href="../../base/src/Data.OldList.html#unlines"><span class="hs-identifier hs-var">unlines</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">(PackageCheck -&gt; String) -&gt; [PackageCheck] -&gt; [String]
forall a b. (a -&gt; b) -&gt; [a] -&gt; [b]
</span><a href="../../base/src/GHC.Base.html#map"><span class="hs-identifier hs-var">map</span></a></span><span> </span><span class="annot"><span class="annottext">PackageCheck -&gt; String
</span><a href="Distribution.PackageDescription.Check.html#explanation"><span class="hs-identifier hs-var hs-var">explanation</span></a></span><span> </span><span class="annot"><span class="annottext">[PackageCheck]
</span><a href="#local-6989586621679728944"><span class="hs-identifier hs-var">warnings</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-491"></span><span>  </span><span class="annot"><span class="annottext">Bool -&gt; IO () -&gt; IO ()
forall (f :: * -&gt; *). Applicative f =&gt; Bool -&gt; f () -&gt; f ()
</span><a href="../../base/src/Control.Monad.html#unless"><span class="hs-identifier hs-var">unless</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">[PackageCheck] -&gt; Bool
forall (t :: * -&gt; *) a. Foldable t =&gt; t a -&gt; Bool
</span><a href="../../base/src/Data.Foldable.html#null"><span class="hs-identifier hs-var">null</span></a></span><span> </span><span class="annot"><span class="annottext">[PackageCheck]
</span><a href="#local-6989586621679728945"><span class="hs-identifier hs-var">errors</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">(IO () -&gt; IO ()) -&gt; IO () -&gt; IO ()
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span>
</span><span id="line-492"></span><span>      </span><span class="annot"><span class="annottext">Verbosity -&gt; String -&gt; IO ()
</span><a href="Distribution.Simple.Utils.html#notice"><span class="hs-identifier hs-var">notice</span></a></span><span> </span><span class="annot"><span class="annottext">Verbosity
</span><a href="#local-6989586621679728954"><span class="hs-identifier hs-var">verbosity</span></a></span><span>
</span><span id="line-493"></span><span>        </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;Note: the public hackage server would reject this package.&quot;</span></span><span>
</span><span id="line-494"></span><span>
</span><span id="line-495"></span><span class="hs-comment">------------------------------------------------------------</span><span>
</span><span id="line-496"></span><span>
</span><span id="line-497"></span><span class="hs-comment">-- | The name of the tarball without extension</span><span>
</span><span id="line-498"></span><span class="hs-comment">--</span><span>
</span><span id="line-499"></span><span class="annot"><a href="Distribution.Simple.SrcDist.html#tarBallName"><span class="hs-identifier hs-type">tarBallName</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Types.PackageDescription.html#PackageDescription"><span class="hs-identifier hs-type">PackageDescription</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span>
</span><span id="line-500"></span><span id="tarBallName"><span class="annot"><span class="annottext">tarBallName :: PackageDescription -&gt; String
</span><a href="Distribution.Simple.SrcDist.html#tarBallName"><span class="hs-identifier hs-var hs-var">tarBallName</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">PackageIdentifier -&gt; String
forall a. Pretty a =&gt; a -&gt; String
</span><a href="Distribution.Pretty.html#prettyShow"><span class="hs-identifier hs-var">prettyShow</span></a></span><span> </span><span class="annot"><span class="annottext">(PackageIdentifier -&gt; String)
-&gt; (PackageDescription -&gt; PackageIdentifier)
-&gt; PackageDescription
-&gt; String
forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#."><span class="hs-operator hs-var">.</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription -&gt; PackageIdentifier
forall pkg. Package pkg =&gt; pkg -&gt; PackageIdentifier
</span><a href="Distribution.Package.html#packageId"><span class="hs-identifier hs-var">packageId</span></a></span><span>
</span><span id="line-501"></span><span>
</span><span id="line-502"></span><span class="annot"><a href="Distribution.Simple.SrcDist.html#mapAllBuildInfo"><span class="hs-identifier hs-type">mapAllBuildInfo</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="Distribution.Types.BuildInfo.html#BuildInfo"><span class="hs-identifier hs-type">BuildInfo</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Types.BuildInfo.html#BuildInfo"><span class="hs-identifier hs-type">BuildInfo</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-503"></span><span>                </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="Distribution.Types.PackageDescription.html#PackageDescription"><span class="hs-identifier hs-type">PackageDescription</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Types.PackageDescription.html#PackageDescription"><span class="hs-identifier hs-type">PackageDescription</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-504"></span><span id="mapAllBuildInfo"><span class="annot"><span class="annottext">mapAllBuildInfo :: (BuildInfo -&gt; BuildInfo)
-&gt; PackageDescription -&gt; PackageDescription
</span><a href="Distribution.Simple.SrcDist.html#mapAllBuildInfo"><span class="hs-identifier hs-var hs-var">mapAllBuildInfo</span></a></span></span><span> </span><span id="local-6989586621679728940"><span class="annot"><span class="annottext">BuildInfo -&gt; BuildInfo
</span><a href="#local-6989586621679728940"><span class="hs-identifier hs-var">f</span></a></span></span><span> </span><span id="local-6989586621679728939"><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679728939"><span class="hs-identifier hs-var">pkg</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679728939"><span class="hs-identifier hs-var">pkg</span></a></span><span> </span><span class="hs-special">{</span><span>
</span><span id="line-505"></span><span>    </span><span class="annot"><span class="annottext">library :: Maybe Library
</span><a href="Distribution.Types.PackageDescription.html#library"><span class="hs-identifier hs-var">library</span></a></span><span>     </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">(Library -&gt; Library) -&gt; Maybe Library -&gt; Maybe Library
forall (f :: * -&gt; *) a b. Functor f =&gt; (a -&gt; b) -&gt; f a -&gt; f b
</span><a href="../../base/src/GHC.Base.html#fmap"><span class="hs-identifier hs-var">fmap</span></a></span><span> </span><span class="annot"><span class="annottext">Library -&gt; Library
</span><a href="#local-6989586621679728938"><span class="hs-identifier hs-var">mapLibBi</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">PackageDescription -&gt; Maybe Library
</span><a href="Distribution.Types.PackageDescription.html#library"><span class="hs-identifier hs-var hs-var">library</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679728939"><span class="hs-identifier hs-var">pkg</span></a></span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-506"></span><span>    </span><span class="annot"><span class="annottext">subLibraries :: [Library]
</span><a href="Distribution.Types.PackageDescription.html#subLibraries"><span class="hs-identifier hs-var">subLibraries</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">(Library -&gt; Library) -&gt; [Library] -&gt; [Library]
forall (f :: * -&gt; *) a b. Functor f =&gt; (a -&gt; b) -&gt; f a -&gt; f b
</span><a href="../../base/src/GHC.Base.html#fmap"><span class="hs-identifier hs-var">fmap</span></a></span><span> </span><span class="annot"><span class="annottext">Library -&gt; Library
</span><a href="#local-6989586621679728938"><span class="hs-identifier hs-var">mapLibBi</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">PackageDescription -&gt; [Library]
</span><a href="Distribution.Types.PackageDescription.html#subLibraries"><span class="hs-identifier hs-var hs-var">subLibraries</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679728939"><span class="hs-identifier hs-var">pkg</span></a></span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-507"></span><span>    </span><span class="annot"><span class="annottext">foreignLibs :: [ForeignLib]
</span><a href="Distribution.Types.PackageDescription.html#foreignLibs"><span class="hs-identifier hs-var">foreignLibs</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">(ForeignLib -&gt; ForeignLib) -&gt; [ForeignLib] -&gt; [ForeignLib]
forall (f :: * -&gt; *) a b. Functor f =&gt; (a -&gt; b) -&gt; f a -&gt; f b
</span><a href="../../base/src/GHC.Base.html#fmap"><span class="hs-identifier hs-var">fmap</span></a></span><span> </span><span class="annot"><span class="annottext">ForeignLib -&gt; ForeignLib
</span><a href="#local-6989586621679728937"><span class="hs-identifier hs-var">mapFLibBi</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">PackageDescription -&gt; [ForeignLib]
</span><a href="Distribution.Types.PackageDescription.html#foreignLibs"><span class="hs-identifier hs-var hs-var">foreignLibs</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679728939"><span class="hs-identifier hs-var">pkg</span></a></span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-508"></span><span>    </span><span class="annot"><span class="annottext">executables :: [Executable]
</span><a href="Distribution.Types.PackageDescription.html#executables"><span class="hs-identifier hs-var">executables</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">(Executable -&gt; Executable) -&gt; [Executable] -&gt; [Executable]
forall (f :: * -&gt; *) a b. Functor f =&gt; (a -&gt; b) -&gt; f a -&gt; f b
</span><a href="../../base/src/GHC.Base.html#fmap"><span class="hs-identifier hs-var">fmap</span></a></span><span> </span><span class="annot"><span class="annottext">Executable -&gt; Executable
</span><a href="#local-6989586621679728936"><span class="hs-identifier hs-var">mapExeBi</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">PackageDescription -&gt; [Executable]
</span><a href="Distribution.Types.PackageDescription.html#executables"><span class="hs-identifier hs-var hs-var">executables</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679728939"><span class="hs-identifier hs-var">pkg</span></a></span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-509"></span><span>    </span><span class="annot"><span class="annottext">testSuites :: [TestSuite]
</span><a href="Distribution.Types.PackageDescription.html#testSuites"><span class="hs-identifier hs-var">testSuites</span></a></span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">(TestSuite -&gt; TestSuite) -&gt; [TestSuite] -&gt; [TestSuite]
forall (f :: * -&gt; *) a b. Functor f =&gt; (a -&gt; b) -&gt; f a -&gt; f b
</span><a href="../../base/src/GHC.Base.html#fmap"><span class="hs-identifier hs-var">fmap</span></a></span><span> </span><span class="annot"><span class="annottext">TestSuite -&gt; TestSuite
</span><a href="#local-6989586621679728935"><span class="hs-identifier hs-var">mapTestBi</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">PackageDescription -&gt; [TestSuite]
</span><a href="Distribution.Types.PackageDescription.html#testSuites"><span class="hs-identifier hs-var hs-var">testSuites</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679728939"><span class="hs-identifier hs-var">pkg</span></a></span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-510"></span><span>    </span><span class="annot"><span class="annottext">benchmarks :: [Benchmark]
</span><a href="Distribution.Types.PackageDescription.html#benchmarks"><span class="hs-identifier hs-var">benchmarks</span></a></span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">(Benchmark -&gt; Benchmark) -&gt; [Benchmark] -&gt; [Benchmark]
forall (f :: * -&gt; *) a b. Functor f =&gt; (a -&gt; b) -&gt; f a -&gt; f b
</span><a href="../../base/src/GHC.Base.html#fmap"><span class="hs-identifier hs-var">fmap</span></a></span><span> </span><span class="annot"><span class="annottext">Benchmark -&gt; Benchmark
</span><a href="#local-6989586621679728934"><span class="hs-identifier hs-var">mapBenchBi</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">PackageDescription -&gt; [Benchmark]
</span><a href="Distribution.Types.PackageDescription.html#benchmarks"><span class="hs-identifier hs-var hs-var">benchmarks</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679728939"><span class="hs-identifier hs-var">pkg</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-511"></span><span>  </span><span class="hs-special">}</span><span>
</span><span id="line-512"></span><span>  </span><span class="hs-keyword">where</span><span>
</span><span id="line-513"></span><span>    </span><span id="local-6989586621679728938"><span class="annot"><span class="annottext">mapLibBi :: Library -&gt; Library
</span><a href="#local-6989586621679728938"><span class="hs-identifier hs-var hs-var">mapLibBi</span></a></span></span><span>   </span><span id="local-6989586621679728933"><span class="annot"><span class="annottext">Library
</span><a href="#local-6989586621679728933"><span class="hs-identifier hs-var">lib</span></a></span></span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Library
</span><a href="#local-6989586621679728933"><span class="hs-identifier hs-var">lib</span></a></span><span>  </span><span class="hs-special">{</span><span> </span><span class="annot"><span class="annottext">libBuildInfo :: BuildInfo
</span><a href="Distribution.Types.Library.html#libBuildInfo"><span class="hs-identifier hs-var">libBuildInfo</span></a></span><span>        </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">BuildInfo -&gt; BuildInfo
</span><a href="#local-6989586621679728940"><span class="hs-identifier hs-var">f</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Library -&gt; BuildInfo
</span><a href="Distribution.Types.Library.html#libBuildInfo"><span class="hs-identifier hs-var hs-var">libBuildInfo</span></a></span><span> </span><span class="annot"><span class="annottext">Library
</span><a href="#local-6989586621679728933"><span class="hs-identifier hs-var">lib</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-special">}</span><span>
</span><span id="line-514"></span><span>    </span><span id="local-6989586621679728937"><span class="annot"><span class="annottext">mapFLibBi :: ForeignLib -&gt; ForeignLib
</span><a href="#local-6989586621679728937"><span class="hs-identifier hs-var hs-var">mapFLibBi</span></a></span></span><span>  </span><span id="local-6989586621679728932"><span class="annot"><span class="annottext">ForeignLib
</span><a href="#local-6989586621679728932"><span class="hs-identifier hs-var">flib</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ForeignLib
</span><a href="#local-6989586621679728932"><span class="hs-identifier hs-var">flib</span></a></span><span> </span><span class="hs-special">{</span><span> </span><span class="annot"><span class="annottext">foreignLibBuildInfo :: BuildInfo
</span><a href="Distribution.Types.ForeignLib.html#foreignLibBuildInfo"><span class="hs-identifier hs-var">foreignLibBuildInfo</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">BuildInfo -&gt; BuildInfo
</span><a href="#local-6989586621679728940"><span class="hs-identifier hs-var">f</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ForeignLib -&gt; BuildInfo
</span><a href="Distribution.Types.ForeignLib.html#foreignLibBuildInfo"><span class="hs-identifier hs-var hs-var">foreignLibBuildInfo</span></a></span><span> </span><span class="annot"><span class="annottext">ForeignLib
</span><a href="#local-6989586621679728932"><span class="hs-identifier hs-var">flib</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-special">}</span><span>
</span><span id="line-515"></span><span>    </span><span id="local-6989586621679728936"><span class="annot"><span class="annottext">mapExeBi :: Executable -&gt; Executable
</span><a href="#local-6989586621679728936"><span class="hs-identifier hs-var hs-var">mapExeBi</span></a></span></span><span>   </span><span id="local-6989586621679728931"><span class="annot"><span class="annottext">Executable
</span><a href="#local-6989586621679728931"><span class="hs-identifier hs-var">exe</span></a></span></span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Executable
</span><a href="#local-6989586621679728931"><span class="hs-identifier hs-var">exe</span></a></span><span>  </span><span class="hs-special">{</span><span> </span><span class="annot"><span class="annottext">buildInfo :: BuildInfo
</span><a href="Distribution.Types.Executable.html#buildInfo"><span class="hs-identifier hs-var">buildInfo</span></a></span><span>           </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">BuildInfo -&gt; BuildInfo
</span><a href="#local-6989586621679728940"><span class="hs-identifier hs-var">f</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Executable -&gt; BuildInfo
</span><a href="Distribution.Types.Executable.html#buildInfo"><span class="hs-identifier hs-var hs-var">buildInfo</span></a></span><span> </span><span class="annot"><span class="annottext">Executable
</span><a href="#local-6989586621679728931"><span class="hs-identifier hs-var">exe</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-special">}</span><span>
</span><span id="line-516"></span><span>    </span><span id="local-6989586621679728935"><span class="annot"><span class="annottext">mapTestBi :: TestSuite -&gt; TestSuite
</span><a href="#local-6989586621679728935"><span class="hs-identifier hs-var hs-var">mapTestBi</span></a></span></span><span>  </span><span id="local-6989586621679728930"><span class="annot"><span class="annottext">TestSuite
</span><a href="#local-6989586621679728930"><span class="hs-identifier hs-var">tst</span></a></span></span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">TestSuite
</span><a href="#local-6989586621679728930"><span class="hs-identifier hs-var">tst</span></a></span><span>  </span><span class="hs-special">{</span><span> </span><span class="annot"><span class="annottext">testBuildInfo :: BuildInfo
</span><a href="Distribution.Types.TestSuite.html#testBuildInfo"><span class="hs-identifier hs-var">testBuildInfo</span></a></span><span>       </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">BuildInfo -&gt; BuildInfo
</span><a href="#local-6989586621679728940"><span class="hs-identifier hs-var">f</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">TestSuite -&gt; BuildInfo
</span><a href="Distribution.Types.TestSuite.html#testBuildInfo"><span class="hs-identifier hs-var hs-var">testBuildInfo</span></a></span><span> </span><span class="annot"><span class="annottext">TestSuite
</span><a href="#local-6989586621679728930"><span class="hs-identifier hs-var">tst</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-special">}</span><span>
</span><span id="line-517"></span><span>    </span><span id="local-6989586621679728934"><span class="annot"><span class="annottext">mapBenchBi :: Benchmark -&gt; Benchmark
</span><a href="#local-6989586621679728934"><span class="hs-identifier hs-var hs-var">mapBenchBi</span></a></span></span><span> </span><span id="local-6989586621679728929"><span class="annot"><span class="annottext">Benchmark
</span><a href="#local-6989586621679728929"><span class="hs-identifier hs-var">bm</span></a></span></span><span>   </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Benchmark
</span><a href="#local-6989586621679728929"><span class="hs-identifier hs-var">bm</span></a></span><span>   </span><span class="hs-special">{</span><span> </span><span class="annot"><span class="annottext">benchmarkBuildInfo :: BuildInfo
</span><a href="Distribution.Types.Benchmark.html#benchmarkBuildInfo"><span class="hs-identifier hs-var">benchmarkBuildInfo</span></a></span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">BuildInfo -&gt; BuildInfo
</span><a href="#local-6989586621679728940"><span class="hs-identifier hs-var">f</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Benchmark -&gt; BuildInfo
</span><a href="Distribution.Types.Benchmark.html#benchmarkBuildInfo"><span class="hs-identifier hs-var hs-var">benchmarkBuildInfo</span></a></span><span> </span><span class="annot"><span class="annottext">Benchmark
</span><a href="#local-6989586621679728929"><span class="hs-identifier hs-var">bm</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-special">}</span><span>
</span><span id="line-518"></span></pre></body></html>